【发布时间】:2016-12-20 22:53:21
【问题描述】:
我正在尝试从 Google 结果页面中查找并提取“大约 16,600,000 个结果(0.69 秒)”文本。不是结果,只是字符串文本。提取后,我想将结果保存在一个数组中,并用其他关键字重复两次。之后,我将遍历数组以将其打印在表格中。我不知道为什么,但如果我试图在页面上找到“结果”,我总是告诉我它没有找到任何东西。 当前代码:
<?php
$url = "https://www.google.co.uk/#q=cheese";
$html = file_get_contents($url);
if (strpos($html, "results") !== false) {
echo "found";
} else {
echo "not found";
}
?>
【问题讨论】:
-
据我所知,没有“白帽”方式可以获取所有搜索结果,因为 Google 不允许这样做,甚至不将其作为服务出售,并且会限制宏/插件/自动化浏览器等尝试爬取其页面。一种“黑帽”方法是使用 ScrapeBox 或任何其他基于旋转 IP 地址和其他标识符的解决方案,并带有代理池 + 欺骗以避免受到限制。顺便说一句,我没有运行你的代码,但是有很多关于如何使用代码或应用程序抓取结果的好例子,但挑战是节流。
标签: javascript php google-search