网络抓取——从谷歌搜索结果中抓取数据是否可行?



我想从谷歌获取使用curl来检测潜在的重复内容的结果。被谷歌封杀的风险高吗?

Google在他们的服务条款中不允许自动访问,所以如果你接受他们的条款,你就会破坏它们。

也就是说,据我所知,谷歌没有对刮板提起诉讼。就连微软也抛弃了谷歌,他们用它来为自己的搜索引擎必应提供动力。他们在2011年被抓了个正着

有两个选项来抓取Google搜索结果:

1)使用他们的API

更新2020:谷歌已经重复了以前的api(再次),并有新的价格和新的限制。现在(https://developers.google.com/custom-search/v1/overview)你可以每天查询多达1万个结果,每月1500美元,甚至更多是不允许的,结果不是他们在正常情况下显示的搜索。

  • 您每小时可以发出大约40个请求如果你想要追踪排名的话,这并不是很有用位置或者真正的用户会看到什么。你不是那种人允许集合

  • 如果你想要更多的API请求,你需要付费。

  • 每小时60个请求每年花费2000美元,更多的查询需要一个自定义协议。

2)抓取正常结果页

    棘手的部分来了。可以抓取正常的结果页面。Google不允许。
  • 如果您以高于8 (从15更新)的速度刮擦关键字请求每小时您有被检测的风险,高于10/h (从20更新)将使您从我的经验中被阻止。
  • 通过使用多个IP,您可以提高速率,因此使用100个IP地址,您可以每小时抓取多达1000个请求。(每日24k)(更新)
  • 有一个用PHP编写的开源搜索引擎scraper在http://scraping.compunect.com它允许可靠地抓取谷歌,正确解析结果和管理IP地址,延迟等。所以,如果你会使用PHP,这是一个很好的开始,否则代码将仍然是有用的,学习如何完成。

3)或者使用抓取服务(已更新)

  • 最近我的一个客户有一个巨大的搜索引擎抓取需求,但它不是"持续的",它更像是一个月刷新一次。
    在这种情况下,我找不到一个"经济"的自制解决方案。
    我转而使用了http://scraping.services上的服务。他们还提供了开源代码,到目前为止运行良好(刷新期间每小时数千个结果页)
  • 缺点是,这样的服务意味着你的解决方案是"有限的";对于一个专业供应商来说,好处是它比我评估的其他选择便宜得多(在我们的情况下更快)
  • 减少对一家公司的依赖的一个选择是同时采取两种方法。使用抓取服务作为主要数据源,并在需要时退回到2)中描述的基于代理的解决方案。

当你超过一定数量的请求时,谷歌最终会阻止你的IP。

Google靠抓取世界各地的网站而茁壮成长…所以如果它"如此非法",那么即使是谷歌也无法生存…当然,其他答案提到了减轻谷歌IP封锁的方法。另一种避免验证码的方法是随机抓取(试一下)。此外,我有一种感觉,如果我们提供新颖或一些重要的数据处理,那么至少对我来说听起来不错……如果我们只是复制一个网站…或者以某种方式阻碍其业务/品牌…那就不好了,应该避免,最重要的是…如果你是一家初创公司,那么没有人会反对你,因为这没有好处。但如果你的整个前提都是靠赚钱,那么你就应该考虑更复杂的方法……替代api…最后…而且Google一直在为它的API发布(或废弃)字段,所以你现在想要废弃的可能在新的Google API发布的路线图中。

相关内容

最新更新