网站内容抓取(各个爬虫获取内容是个套路活,还没爬1分钟就被封掉)
优采云 发布时间: 2021-08-29 06:05网站内容抓取(各个爬虫获取内容是个套路活,还没爬1分钟就被封掉)
看评论区,大多数人说如何获取网页内容。其实,获取内容是一个套路。所有网站 都是相似的。在实际操作中,很多人发现自己写了一个爬虫,还没有爬到1分钟就被屏蔽了。先说一些攀爬XX的经验,主要是一些防反攀的经验。
爬过XX的都知道XX站的防爬机制做的很好。
0.cookie,有些cookies会记录本机的一些特性,这些特性可能会成为ban的关键句柄,所以写爬虫的时候最好禁用cookies。
1.XX网站 具有 User-Agent 代理验证。如果检测到你的请求是假的User-Agent,记得直接返回空白页。这很容易解决。下载一个fake-useragent包,每次随机生成一个header。
2.XX网站ip 频繁访问检测机制。当检测到你的访问过于频繁时(这个真的很严格,其实即使你手动模拟点击,也会被限制一段时间),会返回异常信息。这可以通过维护自己的 ip 池来解决。 github上的免费代理ip池代理好用,但是代理IP数量比较少。如果您无限制访问,那么您整个池中的所有 ip 将很快被阻止。所以可以加一个限制:每个ip两次使用的间隔应该是60s。要是麻烦,就很容易解决了,氪金,氪金可以变强。推荐通讯社的动态转发功能,真的好用。
3.XX 会时不时弹出验证码。解决方法一:在网上调用验证码识别借口,有点麻烦。解决方案二:更改IP继续访问网页,
4.XX 偶尔会发出重定向请求。这是指有时候即使你使用新的ip访问XX的页面,有时候也会收到一个脚本脚本,脚本的内容很简单,就是采集浏览器的一些基本信息,然后GET到请求原创页面。这对于用户访问来说是缺乏经验的。但是对于爬虫来说,这种重定向必须要特别注意。一种解决方案是模拟脚本的内容,然后再次发送 GET 请求。还有一个更简单的方法,就是直接禁止重定向,把接收到的页面当作错误码处理。错误码的处理方法是更改IP,继续访问。不可能为每个 IP 发送重定向。
合理应用这些技术可以实现单机爬行峰值1.5w条数据/分钟。