干货|爬虫被封的几个常见原因

爬虫采集成为很多公司企业个人的需求,但正因为如此,反爬虫的技术也层出不穷,像时间限制、IP限制、验证码限制等等,都可能会导致爬虫无法进行,所以也出现了很多像代理IP、时间限制调整这样的方法去接触反爬虫限制,当然具体的操作方法需要你针对性的去研究。
爬虫采集数据过程中经常会出现受限问题,那么具体哪些原因会导致爬虫被禁封呢?
1、检查JavaScript
如果你从网络服务器收到的页面是空白的,缺少信息,或其遇到他不符合你预期的情况(或者不是你在浏览器上看到的内容),有可能是因为网站创建页面的JavaScript执行有问题。
2、检查正常浏览器提交的参数
如果你准备向网站提交表单或发出POST请求,记得检查一下页面的内容,看看你想提交的每个字段是不是都已经填好,而且格式也正确。用Chrome浏览器的网络面板(快捷键F12打开开发者控制台,然后点击“Network”即可看到)查看发送到网站的POST命令,确认你的每个参数都是正确的。
3、是否有合法的Cookie
如果你已经登录网站却不能保持登录状态,或者网站上出现了其他的“登录状态”异常,请检查你的cookie。确认在加载每个页面时cookie都被正确调用,而且你的cookie在每次发起请求时都发送到了网站上。
4、IP被封禁
如果你在客户端遇到了HTTP错误,尤其是403禁止访问错误,这可能说明网站已经把你的IP当作机器人了,不再接受你的任何请求。你要么等待你的IP地址从网站黑名单里移除,要么就换个IP地址(可以使用代理IP,比如极光代理)。如果你确定自己并没有被封杀,那么再检查下面的内容。
在这里插入图片描述
5、确认你的爬虫在网站上的速度不是特别快
快速采集是一种恶习,会对网管的服务器造成沉重的负担,还会让你陷入违法境地,也是IP被网站列入黑名单的首要原因。给你的爬虫增加延迟,让它们在夜深人静的时候运行。切记:匆匆忙忙写程序或收集数据都是拙劣项目管理的表现;应该提前做好计划,避免临阵慌乱。
6、修改你的请求头(必须做的事情)
有些网站会封杀任何声称自己是爬虫的访问者。如果你不确定请求头的值怎样才算合适,就用你自己浏览器的请求头吧。
7、确认你没有点击或访问任何人类用户通常不能点击或接入的信息。

猜你喜欢

转载自blog.csdn.net/li_zhi521/article/details/83896679