常见反爬虫介绍:
① 通过Headers反爬虫
-
从用户请求的Headers反爬虫是最常见的反爬虫策略
-
很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)
-
对于检测Headers的反爬虫,在爬虫中修改或者添加Headers就能很好的绕过
② 基于用户行为反爬虫
-
部分网站是通过检测用户行为,例如 同一IP短时间内多次向服务器发送请求,或者同一账户(cookie)短时间内多次向服务器发送请求。
-
解决方法是使用 IP 代理池或 cookie池
③ 通过JS 数据加密
-
一般网站界面都是静态页面(即在浏览器中查看源代码可见),还有部分网站中的数据是后期通过Ajax请求(或其他方式如推送技术)得到
-
解决办法:首先用 Chrome Devtools 或者抓包工具对网络请求进行分析。找到Ajax的请求url,通过Python模拟请求得到需要的数据
-
但是现在很多网站都把Ajax请求的部分参数加密了,这就要看你的JS功底了
④ 通过验证码反爬虫
-
对方服务器通过弹出验证码强制验证用户浏览行为
-
分为图形验证码、滑块验证码、点触验证码、短信验证码等。。。
-
解决办法:通过手动解决、机器学习、对接打码平台、自动化测试工具等
⑤ 通过字体反爬
-
网站把一些关键字替换成自己设计的字体,这些关键字在源码中是无法识别的
-
解决办法:找出对应的字体,建立映射表进行替换
转载:https://blog.csdn.net/weizhen11/article/details/102488642
查看评论