让我们找到最好的独享代理IP服务器
Proxy-Seller的独享、ISP、移动代理 - 永远不会被阻止

如何在爬取网站时避免被封锁或列入黑名单


在抓取网站时,您的 IP 会被列入黑名单吗?本篇文章我们将告诉你 "如何抓取网站而不被封 IP!"

只要不危及网站服务器和用户的安全,网络普遍接受数据搜刮。鉴于公共网络社区 "分享就是关爱 "的特性,许多网站可能会认为这是互利互惠的行为,它能给网站带来更多流量、点击率,甚至可能带来更多曝光率。

不过,网站确实会对单个 IP 地址从其网站上下载的数量设置限制,以保护自身安全,同时也防止用户过快下载过多内容。这时,代理和网络刮擦工具就派上用场了,它们可以规避这些限制,从不同的网站下载尽可能多的内容。

从理论上讲,这可能会导致网站崩溃,但一只蜘蛛不太可能做到这一点,所以这更多的是一个节制和开创先例的问题。 网络清除器 代理可以绕过这些限制而不损害服务器的安全,但如果不谨慎行事,就可能会导致 IP 封禁。

下面是一些避免这种情况的方法,具体取决于你计划如何进行网络搜刮。

了解并遵守网站 /robots.txt 网页

为了避免 IP 禁止,最重要的可能是遵守网站 robots.txt 子域中规定的准则。代理服务器本身并不能保护您免受这些限制;所发生的一切只是代理服务器的 IP 地址会收到 IP 封禁,然后代理服务器对网络搜刮者或蜘蛛就毫无用处了,除非它能被代理服务器取代。

网络抓取包括确保无论如何都不会被踢出服务器--无论你是设置爬虫来遵循指导原则,还是自己编写代码让爬虫遵循指导原则,遵守几乎每个网站都包含的 robots.txt 说明一般都符合蜘蛛的最佳利益。

要找到这个子页面,通常需要输入主页,然后输入"/robots.txt"。有时,人类可能很难理解这些规则,因为它们主要是为了机器可读。下面是一个简单明了的基本规则,通过 openculture.com:

用户代理:
*禁止:
/wp-admin/Allow:
/wp-admin/admin-ajax.php
网站地图: http://www.openculture.com/sitemap.xml

第一句话说,人类可以在网站上去任何他们想去的地方,这一点相当普遍。社交网络会有更大的障碍,比如进入私人档案或不登录就去某些地方,而使用过这些网站的人都已经意识到了这一点。

现在,"禁止 "后面跟着 "允许"。这是给机器人的指令,因为它们禁止的内容在网页中是无法访问的。显然,"禁止 "表示 "不要访问任何属于 www.openculture.com/(disallow).

接下来的允许条款规定了一个例外,对机器人说:"你可以去这里,而且只能在本小节内去这里"。

最后一行包含网站地图,这对蜘蛛了解它能访问的所有网页至关重要。通过该链接可以找到一系列嵌入式 URL,这些 URL 构成了整个网站。这是通过网站本身提供的网站地图来抓取网页的最简单方法。

如果有什么东西他们不包括在内,那也可能是不重要的东西。这里没有阴谋论:无论网站想排除什么,他们都会直接下线。网站所隐藏的内容通常可以防止不同类型的网络攻击或 "蜜罐"(下文将对此进行解释)。

通常应遵守这些 robots.txt 文件,以避免在抓取或刮擦时被列入黑名单。如果它们像上面的文件一样简单(为便于参考,该文件来自一个相当受欢迎的网站),那么就很容易遵守。

更长的允许和禁止列表(如 facebook.com/robots.txt 上的列表)可以通过简单地省略或禁止某些 URL 子域的方式,纳入您计划进行网络刮擦的方式中。

在利用网站地图和避免 IP 地址被列入黑名单的最简单方法之间,如果您想让自己的 IP 地址免遭封禁,遵守这些规则不仅简单,而且明智。此外,如果您不遵守规则,服务器也有办法发现,因此请自行承担违反规则的风险。


不要掉进蜜罐里!等等...

什么是蜜罐?

蜜罐是网站服务器设置的陷阱,只有机器人才能掉入。例如,网络搜刮器被指示访问所有可用的 URL(这通常是默认设置),它将访问网站的一部分,而人类通过互联网浏览器浏览网站的任何部分都无法到达该部分。除了用于检测蜘蛛或网络刮擦管道外,URL 的存在没有任何意义。

有些蜜罐只用于检测机器人。除非网站在 robots.txt URL 中直接禁止所有爬虫,否则这本身并不是问题--几乎所有网站都允许机器人抓取网页,原因如下--只是服务器想知道谁是机器人,谁不是。

其他蜜罐只检测违反 robots.txt 指南的机器人。在这种情况下,如果你不小心或无视规则,很容易就会被封掉 IP 地址。

提前准备爬行网站地图。

这可以让你避免陷入蜜罐,避免 IP 屏蔽,甚至节省时间。大多数网站都会在网站的某个地方共享网站地图。例如 以下是 medium.com 的网站地图.通过观察他们的 robots.txt 网页。

有了这些信息,网络搜刮工具就只能访问它被允许访问的网站,这样就可以避免可能导致 IP 禁止的蜜罐类型。同时,在查看网站地图时,问问自己是否需要网站上每个 URL 的信息。如果只需要少数几个网页,就只访问这些网页。

返回菜单 ↑

查找正确的代理服务

与往常一样,在短时间内进行大量数据的网络搜刮时,如果不是从多个不同的网站进行搜刮,就需要多个代理。

此外,由于互联网活动日益频繁,最好一如既往地保持匿名上网,尤其是在网络搜刮时。比方说,黑客可以看到属于你碰巧正在搜刮的网站的服务器的活动。你的真实 IP 地址就会泄露得更多,你的活动也更容易受到攻击。

因此建议使用代理服务器。

确保您购买的代理是 "原始 "代理,这意味着该 IP 地址以前从未被用于网络搜刮。

如果 代理服务 不区分以前用于和未用于网络搜索的代理类型,它们从未被用于网络搜索,或者它们可能不知道,因为它们是从转售商那里购买的,它们可能不知道自己拥有的某些 IP 地址的历史。

他们也可能没有,但公司至少应该在某个地方告诉你,你是否获得了 "处女代理"。这通常取决于你的定价方案。

根据需要获取尽可能多的代理服务器

注意不要认为自己只需要 5 个代理,而实际上需要 20 个。另一方面,也不要购买太多。

Backconnect 旋转代理是网络搜索的最佳选择

毫无疑问,backconnect 旋转代理是用于网络搜索或抓取的最佳代理。 上一篇反向连接代理会根据您的请求轮换 IP,这样可以防止 IP 被列入黑名单。

IP 轮换类型

对于初学者,建议从专用代理服务器开始

如果你是网络搜刮新手,我是说你负担不起用于搜刮的旋转代理,你可以从以下方面入手 专用 IP 代理如果您打算使用专用代理抓取网站,可以阅读以下内容 本指南 了解如何防止代理服务器被屏蔽。

如果您的所有 IP 都被禁止,您只需购买更多。如果两天后你发现所需的代理数量只是购买数量的一小部分,可以的话就退货,但以从 B 公司购买代理为例,两天后是不能保证退款的,需要有正当的理由才能退款。

下面是一些适合网络搜索的专用代理服务器、 SquidProxies服务评论, MyPrivateProxyBuyProxies服务评论.

在明确知道自己的工作需要多少数量之前,买得太少总比买得太多好。

返回菜单 ↑

使用应用程序接口 - 网站应用程序接口、抓取应用程序接口、代理服务器应用程序接口

对网络抓取和网络刮擦可能涉及的所有不同 API 进行细分非常重要。有些是必要的,有些是有用的。有些只是因为所使用的网络抓取方法而必须使用。还有一些既不必要也无用。

首先,网络搜刮时需要担心的主要 API 是目标网站的 API(如果有的话)。许多网站之所以有 API,部分原因是它们希望网络搜刮者使用这些 API,而不使用这些 API 可能会导致多种不同的结果(如 "蜜罐"),导致 IP 封禁。如果你想搜刮的网站有 API,请阅读 API 文档。它应该会直接告诉你是否有下载限制,这些限制既适用于人类,也适用于搜刮程序。

API 还能提高网络搜索的效率,因为 API 的存在是为了实现机器之间的通信--在这种情况下,是机器的网络服务器和你的网络爬虫之间的通信。目标网站的应用程序接口将引导网络爬虫找到它要找的信息,而不去管其他乱七八糟的东西。这是一个双赢的结果:网络服务器减少了网络爬虫下载所有内容的压力,而蜘蛛也减少了下载它不需要的内容(如果你检查过一个网页,你就会知道有一大堆它不需要的内容)。

例如 Reddit 的应用程序接口这就意味着,在一个子红人区中从一个页面导航到下一个页面,并不像在 openculture.com 这样的网站那样简单,因为后者的 URL 在下一页中明确包含了一个页码,如''。http://www.openculture.com/page/2.'

Reddit API 的另一部分向你展示了如何在更新时更新实时线程。如果不这样做,蜘蛛就会获取当时的信息,然后继续前进,不知道页面是否或何时更新。

更多信息 如何使用 Python 和 Reddit API 抓取 Reddit?

许多代理服务都有自己的应用程序接口如果您选择从他们那里购买远程服务器和代理服务器,就可以使用这些 API。这些 API 在网络爬虫中是必要的,但不一定有用。如果代理服务器使用 API,那么使用 API 很有可能是必需的,没有 API 爬虫就无法工作。

代理 API

使用代理服务器并不能单独提高爬虫的效率,但选择使用代理服务器也有其好处,如果使用 API 也能提高效率,那就可以把它看作是整个服务器的一个组成部分。

Scrapy 等网络搜刮工具也提供应用程序接口但是,对于网络搜索来说,使用这些 API 一般没有必要,也没有帮助。这些 API 主要面向开发人员,而非用户。如果只是使用这些工具进行网络搜刮,则没有必要实施这些 API。如果它们提供了有用的扩展,或许可以看看,但除此之外,不用担心不使用它们 - 这不会导致 IP 封禁。

如果被抓取的源或网站有一个公开可用的 API,那么使用它几乎可以消除被禁用的可能性,因为 API 会阻止你超出限制。

一旦达到上限,只需刷新 API 密钥,切换到下一个代理,确保您的 IP 已更改,然后继续。许多 刮削工具 - 无论是通过编程脚本或脚本包,还是通过软件程序,都可以自动完成这项工作,使您能够在另一个代理服务器达到极限时立即切换。

还要注意的是,如果一个网站确实提供了 API,那么在不使用 API 的情况下,被禁用的几率就会增加,因为一般来说,网站对无视其 API 的爬虫的容忍度会降低。

返回菜单 ↑

使用 Selenium 或 Puppeteer(无头浏览器)

通过使用 Selenium 和 Puppeteer 等无头浏览器,你会看到一个网页浏览器弹出,并以手动方式进行抓取。我非常熟悉并喜欢使用 Selenium,所以我会花更多时间来介绍它。 本职位 爬行时

Selenium 使用所谓的 "无头浏览器 "时,Selenium 会打开一个浏览器--"......"。 或火狐浏览器,然后进行与其他方式相同的网络搜索。唯一不同的是,它似乎是由人工手动完成的。

如果网站运行的是 PHP(许多网站都是,而且大多数大型网站都是),它们就可以检测 "点击率 "之类的东西,这意味着它们可以计算出点击链接按钮是否是为了进入网站的子域,或者用户是否只是移动到 URL 而没有点击链接按钮。Selenium 可以被编程为在任何网站上点击、输入和滚动。

网站不能禁止机器人抓取其网站的原因有很多,但主要是因为它们不会出现在任何搜索引擎上(简单地说,就是不会出现在任何搜索引擎上)、 搜索引擎抓取网页以查找网站).

如果你精通代码,能够编写一个简单的 python 脚本,或者能够找到并借用你在网上找到的脚本,你就可以使用 selenium 等软件包,让任何网站相信人类正在访问他们的网站。有很多指南都介绍了如何将这一功能融入网络搜索、 比如这个,底部有一个 python 脚本,可以从它开始(您可以下载 Python 这里).

不过,也有一些缺点。你可能已经猜到了、 使用像 Selenium 这样的无头浏览器通常会减慢进程。 额外的预防措施可能值得放慢速度,这取决于速度有多慢,以及你需要以多快的速度在网页之间爬行。

不过,这并不会真正影响网站搜索的速度;这只是在网页之间切换的问题。总体而言,速度减慢可能微乎其微,而且 如果不需要花太多时间去研究如何运行,这个选项绝对值得一试。

返回菜单 ↑

使用可靠的网络搜索软件

这里主要推荐 Octoparse,但也有其他不可靠或价格昂贵的软件。Octoparse 有一个非常合理的完全免费软件包。

octoparse 的工作原理

下载 Octoparse 免费试用

在一定时间内,在它上面免费进行网络搜索的次数是有限制的,但比大多数网络搜索的限制要大。

该软件可被告知遵守 robots.txt 页面上的指导原则,不得超出任何其他会导致 IP 封禁的限制。对于刚接触网络搜索的用户来说,它能让一切变得更简单,从而避免容易导致 IP 封禁的错误。

不过,要小心使用知名度较低的网络搜索软件。它可能已被淘汰或过时,这意味着错误可能导致它们被列入黑名单。

此外,如果网络搜刮软件似乎无法正常工作,尤其是如果它并不常用,显然不要浪费时间去尝试让它正常工作,因为它可能已经无法正常工作了,而且可能也没有资源来帮助它正常工作。

检查下载软件的日期,查看最近的更新时间。任何几年未更新的软件都应该引起注意。


如果你被禁用 IP,这并不是世界末日。它可能只持续 24 小时,给你一些时间来找出导致失误的原因,并防止再次出现同样的情况。

最好的办法是,如果你有多个代理,可以暂时使用其他代理。在大型网络扫描项目中,由于意外或疏忽等多种原因,很可能会出现这些错误。

有时是网络服务器出了问题,或者更令人沮丧的是从代理服务购买的代理。

无论如何,IP 地址都会时不时地被屏蔽或列入黑名单,这就是为什么许多代理服务会为每个代理提供 IP 替换。

不过,这显然是一个很大的障碍,如果你不小心,或者只是鲁莽行事,你可能会在很短的时间内不小心让一大堆代理服务器被禁止,这就是为什么了解网络搜刮时需要注意什么以及如何避免这些陷阱是如此重要的原因。

blank网络搜索代理 - 永远不会被阻止

在 Pinterest 上 Pin It

zh_CNChinese
Private Proxy Reviews