【发布时间】:2018-12-12 13:02:09
【问题描述】:
我想知道 Groupon 的活跃交易,所以我写了一个像这样的爬虫:
libxml_use_internal_errors(true);
$dom = new DOMDocument();
@$dom->loadHTMLFile('https://www.groupon.com/browse/new-york?category=food-and-drink&minPrice=1&maxPrice=999');
$xpath = new DOMXPath($dom);
$entries = $xpath->query("//li[@class='slot']//a/@href");
foreach($entries as $e) {
echo $e->textContent . '<br />';
}
但是当我一直运行这个函数时,浏览器加载,只是加载了一些东西,但没有显示任何错误。
我该如何解决?不只是 Groupon 的情况——我也尝试过其他网站,但也不起作用。为什么?
【问题讨论】:
-
在
@$dom中使用@将抑制加载URL 时出现的任何错误,将其删除,您可能会看到发生了什么。 -
我删除它但浏览器再次加载并且不停止
-
也许他们有一个您可以使用的 api,可能是因为他们不希望您抓取他们的页面,也许您可以欺骗浏览器代理或 cookie 或其他东西,但我建议使用api 代替
标签: php dom xpath file-get-contents