我刚开始使用CURL,还是个PHP程序员新手。我想采取网页上的特定元素(通过AJAX的变化),并使用CURL输入到数据库中。到目前为止,我可以用CURL写一个网页的文本文件,但我真的不知道下一步该怎么做。
发布于 2010-07-13 09:25:46
你需要做的就是所谓的“抓取”。这是我在谷歌上找到的一个小教程:http://www.oooff.com/php-scripts/basic-php-scraped-data-parsing/basic-php-data-parsing
发布于 2010-07-13 11:13:43
这通常是通过使用cURL抓取页面来处理的。如果您是串行地抓取一堆页面,我建议使用curl_multi系列函数来使它们并行。如果要查找页面的特定部分,可以将HTML文档加载到SimpleXMLElement中,并使用xpath查询特定数据。
这个解决方案的惟一问题是,您需要从页面中抓取AJAX内容。cURL只与服务器交互--它不能触发客户端JavaScript。一些AJAX应用程序有一个与您正在查看的AJAX内容等效的服务器端(例如,http://example.com#test可能会转换为http://example.com/test)。如果您正在处理的站点没有这种类型的映射,您可以尝试找出从中加载AJAX内容的URL,并使用cURL直接抓取这些URL。
如果您需要更高级的客户端功能,您应该研究一下Selenium。如果你在谷歌上搜索"Selenium screen scrape“,你应该会看到一些interesting results。我知道PHPUnit中有一个Selenium集成,可能值得一看。
下面是另一个处理屏幕抓取AJAX页面的问题:How do you scrape AJAX pages?
https://stackoverflow.com/questions/3233531
复制相似问题