品易云推流 关闭
文章详情页
文章 > Python爬虫 > 如何应对网站反爬虫?

如何应对网站反爬虫?

头像

小妮浅浅

2021-05-25 10:58:17252浏览 · 0收藏 · 0评论

1、IP代理

对于IP代理,各个语言的Native Request API都提供的IP代理响应的API, 需要解决的主要就是IP源的问题了。

网络上有廉价的代理IP(1元4000个左右), 我做过简单的测试, 100个IP中, 平均可用的在40-60左右, 访问延迟均在200以上。

网络有高质量的代理IP出售, 前提是你有渠道。

因为使用IP代理后, 延迟加大, 失败率提高, 所以可以将爬虫框架中将请求设计为异步, 将请求任务加入请求队列(RabbitMQ,Kafka,Redis), 调用成功后再进行回调处理, 失败则重新加入队列. 每次请求都从IP池中取IP, 如果请求失败则从IP池中删除该失效的IP。

2、Cookies

有一些网站是基于cookies做反爬虫, 这个基本上就是 维护一套Cookies池。

注意研究下目标网站的cookies过期事件, 可以模拟浏览器, 定时生成cookies。

3、限速访问

像开多线程,循环无休眠的的暴力爬取数据, 那真是分分钟被封IP的事, 限速访问实现起来也挺简单(用任务队列实现), 效率问题也不用担心, 一般结合IP代理已经可以很快地实现爬去目标内容。

以上就是应对网站反爬虫的方法,推荐大家使用代理Ip的方法。如果大家想测试使用下,可以尝试品易http代理ip,免费测试包含各种类ip资源,无限调用IP量!更多Python学习指路:python爬虫

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图