当你从谷歌收集大量数据时,最不需要的就是IP禁令。倒数第二件你需要的是验证码来检查你的人性。这些保护措施都是搜索浏览器用来清除机器人的,如果你读了这篇文章,这就是你正在运行的程序。
在我们进入具体的方法来防止这些可怕的事情之前,我想解决抓取谷歌的道德方面。作为一个经验法则,是的,抓取谷歌是道德的。收集数据本身是今天的一种常见做法,以至于谷歌一直在做这种事情,从互联网上的网站上提取相同类型的数据。
实际上,它是如此公开,以至于Google在其Googlebot上有一整页,这是一种数据抓取工具,代表Google抓取网络。
讨论可能变得不太合乎道德,这取决于您打算对所抓取的数据进行何种处理。我不在这里判断,所以我不会,但是您应该知道,Google抓取提供了许多非常合法且通用的功能,例如竞争性分析,关键字处理和个人研究。翻转硬币,您会发现同样大量的非法功能,例如DDoS攻击和未经请求的批量电子邮件营销。
抓取Google数据宝库的道德操守在您手中。
您可能还想知道,为什么有那么多抓取方法在技术上是合法的,所以Google为何拥有IP禁令和验证码。简而言之,Google希望人类使用其网站。机器人就像终结者一样,是可能造成死亡和破坏的内在预兆,而Google希望保护互联网上的网站免受刮擦所允许的所有邪恶活动。人类无法将这些邪恶的东西带到网络上,因此Google很好。
您可以看到IP需要经历两个安全级别。Google不会从禁止您的代理IP开始(除非您做得很糟糕),否则,它不会显示验证码。这是专门为阻止机器人而设计的。您之前已经看过验证码框,如果要抓取,可能经常会看到它。这是第一层,第二层是禁令,根据您的违规情况,禁令可以是永久性的也可以是非永久性的。
问题仍然存在:
目录
您如何解决这些禁令和验证码?
下面列出了六种方法。
1.限制个人代理IP使用
我将从网络抓取礼节的更基本原则之一开始。在大多数情况下,您或您的公司将使用大量代理进行数据收集。几乎总是这样,因为重点是快速抓取大量数据,而如果只有5个代理,则不能非常有效地做到这一点。
- 我的申请需要多少代理?
这样,您将在抓取数据时使用大量IP。在软件程序中,您经常使用抓取工具(其中有很多工具,ScrapeBox是一个很好的工具),可能会设置一个代理可以查询或搜索的频率。您很可能会在API(应用程序接口)中找到它。
查询频率将以秒为单位,如果您要非常谨慎,则以分钟为单位。我至少建议设置一个单独的代理IP,每2-5秒使用一次,如果您正在使用战斗运算符或关键字(我将在下面介绍),则可能会更多。
假设您将搜索频率设置为5秒。这样可以确保您使用或租用的一个IP地址(一个代理)不会每隔5秒就进行一次特定查询。这直接关系到整个人类概念。一个真正的人不可能连续10分钟每秒查询一次Google。这意味着您进行了600次单独的Google搜索,只是为了好玩。
不,这就是机器人的工作,确切地说是刮擦的样子。将您的个人代理IP查询限制设置为每2到5秒是安全的,或者将秒数设置为更安全,您将避免使用该特定IP的禁令和验证码。
- 验证码与代理破解的最佳服务是什么?
2.设置代理速率限制
这个概念与前面的示例几乎相同,只是略有不同。以前我建议限制单个代理IP的查询频率不要太高,但您也想限制所有代理开始查询主题的频率。
为此,时间范围确实会有所不同,并且您可以错开代理以设置不同的速率限制,从而进一步减少Google的怀疑。例如,您要提防一次对5,000个有关“社交媒体喜欢”的查询。即使这些请求是通过不同的看似未连接的IP地址发送的,但它们在一起的事实触发了Google的禁止和验证码程序。
至少将您的代理速率限制设置为1-2秒。为确保这一点,可以将代理的三分之一提高5秒钟,将代理提高3秒钟,最后三分之一提高8秒钟。结合单独的IP查询限制来执行此操作,将大大降低Google禁止您的代理的风险。
- 代理兼容性终极指南
3.在Google中设置您的IP地址
Google有一个错误的习惯,那就是错误地确定您IP的位置。开个玩笑是因为IP通常位于特定的国家/地区,例如美国或英国,以便访问内容并以更主流的方式掩盖用户。如果Google错误地确定了您的IP地址,则可能感觉您IP的全部目的都已消失。不要害怕,有办法!
解决Google地理位置重定向的最佳方法是直接访问http://google.com/ncr,而不是通常的http://google.com 。无论您的IP地址位于何处,“ ncr”都会自动将您发送到美国Google(大多数人都试图访问的Google)。
在避免禁令和验证码方面,此步骤的目的是集中您对单个国家/地区的请求。如前所述,您的代理软件将向Google发送许多请求以搜索信息。如果这些相似的搜索来自15个不同的国家,而所有这些国家都将Google错误地落在了您所在的国家/地区,则会发出危险信号。
请记住,这确实与您抓取数据的原因有关。如果您想在日本日本人撰写的日本绿茶收获博客上抓取数据,您实际上希望Google像普通的日本人一样在日本。为此,请尝试获得具有多个全球位置的代理提供商,如果不确定IP的位置,请咨询您的提供商或自行检查。
如果您要搜索最常见的市场(又名美国),请使用“ ncr”技巧,以确保您的抓取工具开始搜索该版本的Google。
- 使用代理从任何国家/地区流式传输Netflix和YouTube
4.设置您的引荐来源网址
这与最后一步并驾齐驱,因为这是要确保您从右脚开始查询。为了抓取Google,您需要访问Google的特定部分。拥有最多蚊帐的最常见搜索通常在https://www.google.com/search上完成,也就是Google的常规搜索页面。这是我们大多数人输入想要了解的信息的地方。对于使用Chrome的我们来说,我们只需在URL栏中输入一个短语,然后使用Google搜索为您列出信息。
这就是人类搜索的全部方式。请记住,避免与Google进行禁令和验证码的最好方法是像人一样行事。大多数人会去google.com进行搜索,而Chrome用户会自动使用google.com进行搜索。
僵尸程序搜索的问题在于,如果不加以考虑,僵尸程序将使用您的搜索运算符或关键字来收集数据,而根本不访问google.com。他们将简单地从Google搜索的麦田中收获,就好像没人需要google.com一样。换句话说,由于没有必要,机器人会绕过实际访问google.com的操作。人类不会那样做。
解决方案是将您的引荐来源网址专门设置为google.com。大多数为抓取而构建的软件程序都具有API的特定部分,因此可以做到这一点。如果您没有,请考虑使用有帮助的工具。如果您要编写自己的脚本,请确保将此功能包括在内。
5.为代理创建唯一的用户代理
用户代理是用于基于浏览器信息识别计算机设置的技术术语。不要误以为真实身份,例如您的密码或信用卡信息,用户代理是常见的,通常不需要隐藏它们。
但是,在抓取Google数据时,使用户代理信息多样化至关重要。此原则又回到了您需要更改其中大多数设置的相同旧原因-Google希望人们能够进行搜索。即使您的IP地址不同,您的国家/地区也排列在一起,您拥有唯一的关键字和运算符,并且设置了查询时间,如果Google在十秒钟内收到10,000个请求,所有请求的屏幕分辨率均为1024 x 768,请使用当前版本的Firefox,并在Windows 7上运行,它开始变得非常可疑。
在浏览器中更改用户代理信息很简单,尤其是在使用Google Chrome或Firefox的情况下。您可以通过安装扩展程序来做到这一点,这些扩展程序使您可以将用户代理信息的各个部分交换为各个代理,这将使Google蒙混过关。
如果您要运行数百个(或数千个)代理,则这些操作可能会变得复杂且耗时,所有这些代理都需要进行一些微调。有时,您的代理提供程序将在其API中包含用于执行此操作的工具–只需询问Myprivateproxy即可。如果您担心此步骤,请确保与代理提供商的客户支持部门联系。
- 使用Chrome无头和专用代理刮取任何网站
6.避免谷歌搜索操作符引发危险信号
这是一个主要问题,也是大多数人在Google上抓取数据时使用的一种工具。搜索运算符是用于在Google上进行超特定查询的术语。有效地利用它们,可以生成大量高度相关的数据供您分类。
您会看到的最常见的搜索运算符是:
- inurl
- intitle
- intext
也许你已经用过或见过这些术语:“allinurl”等等。这基本上是谷歌对内容类型进行排序的指导,它会为你和你的机器人生成一个更具体的结果列表。搜索运营商有很多规则,被用在各种各样的方式,但说到被禁止,他们是非常重要的。
由于它们在机器人搜索中很受欢迎,谷歌根本不喜欢它们。普通人类,也就是你试图模仿的动物,不会去google.com输入“inurl: grasshoppers”来找到关于 grasshoppers的网站。他们只会输入“ grasshoppers”。
当您和您的机器人使用多个搜索操作符运行查询时,这是复合的(字面上)。如果我们继续上面的例子,运行这个搜索——“intext: grasshopper evolution inurl:grasshopper”——将得到更具体的信息,比如URL中包含grasshopper的网站和引用grasshopper evolution的文本。
对于Google来说,很痛苦的是,您不是试图在蚱hopper上写生物学论文的人。也许您是一个由人在试图启动他们的下一个利基网站的机器人搜索。
搜索运算符的数量和类型众多,因此,首先,请远离常见的搜索运算符。而是将多个关键字串在一起以进行更独特的搜索,并在寻找新的查询方式时参考此列表。另外,请尝试避免在搜索运算符中使用真正常见的关键字,因为这些关键字周围甚至有更多的危险标记。
- 为什么将代理用于SEO工具
Bans和Captchas Begone
验证码会减慢您的速度,这可能会损害您拥有的客户或您正在从事的项目的成功。IP禁令是另一个令人头疼的问题,需要您与您的代理提供商联系。上面的六个技巧将使您的禁令和验证码更少,这将提高您的效率和可靠性。
话虽如此,当涉及Google禁令时,我能传达的最重要信息是进行研究,并限制搜索的机器人性。有时候,慢步走,看起来像人一样比推信封和像机器人一样抓取要好。
从长远来看,什么更可持续?
有关:
- 使用代理从Linkedin收集数据的指南
- 如何使用抓取软件抓取Craigslist数据
- 选择最好的住宅代理进行网络抓取