|
|
1
22
单纯型 ScriptableBrowser 可以独立于测试框架使用。我把它用于许多自动化工作。 |
|
|
2
2
我觉得有必要回答这个问题,尽管这是一个古老的帖子…我已经使用过很多php curl,但它在任何地方都不如www:mechanical这样的东西好,我将切换到它(我想我将使用Ruby语言实现)。curl已经过时了,因为它需要太多的“咕哝工作”来自动化任何东西,simpletest可脚本浏览器在我看来是很有前途的,但是在测试它时,它不能在我尝试过的大多数Web表单上工作…老实说,我认为php缺乏这种类型的抓取、web自动化,所以最好看一种不同的语言,只是想发表这篇文章,因为我在这个主题上花了无数个小时,也许将来它会节省别人一些时间。 |
|
|
3
2
现在是2016年, Mink . 它甚至支持不同的引擎,从headless pure php“browser”(不带javascript),到selenium(需要像firefox或chrome这样的浏览器),再到NPM中的headless“browser.js”(支持javascript)。 |
|
|
4
1
试试看梨图书馆。如果所有其他操作都失败,请为curl创建一个对象包装器。 你可以这样简单:
|
|
|
5
1
|
|
|
6
1
|
|
|
7
1
curl是处理简单请求的方法。它跨平台运行,具有PHP扩展,被广泛采用和测试。 我创建了一个很好的类,可以获取和发布数据数组(包括文件!)只需调用curlhandler::get($url,$data)curlhandler::post($url,$data),就可以得到URL。还有一个可选的HTTP用户身份验证选项:)
[编辑]现在才阅读说明…您可能想使用上面提到的自动化工具之一。你也可以决定使用客户端的火狐扩展,比如 ChickenFoot 更灵活。我将把上面的示例类留在这里,以便将来搜索。 |
|
|
8
1
如果您在项目中使用cakephp,或者您倾向于提取相关的库,那么可以使用它们的curl-wrapper httpsocket。它具有您描述的简单页面获取语法,例如,
…尽管它没有解析响应页的方法。为此,我将使用simplehtmldom: http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/ 它将自己描述为具有类似jquery的语法。 我倾向于认为底线是PHP没有Perl/Ruby拥有的出色的刮擦/自动化库。 |
|
9
-1
如果您使用的是*nix系统,那么可以将shell_exec()与wget结合使用,wget有很多不错的选择。 |