关于爬虫的常见反爬及处理方式

1.robots协议:在scrapy中会用到,设置False即可

2.UA检测:访问时headers中携带user-agent参数即可

3.模拟登陆中验证码的检测:这个稍微的麻烦一些,有的时候这些验证码会set-cookie,每次刷新每次变动cookie,这种使用save_screensot对整张页面进行截图,之后找到图片所在位置及坐标再使用PIL模块截取验证码的图片,计算位置及坐标,模拟点击的时候用这种,打码平台能解析图片内容,这个自行查找

4.cookie:手动的话在headers中添加cookie参数即可,或者使用requests.Session()去访问页面就能获得cookie

5.ip:服务器对访问IP做限制,比如禁止短时间内高频率的访问,这个使用ip池就行,但是ip池得自己做,或者买

6.数据动态加载:当你滑动鼠标或者点击获取更多时候才会再次请求数据,这种一般都是请求指定的URL携带固定的参数,这种自己搞

7.图片懒加载:这种是使用了js,当访问页面是先返回部分内容,其他的内容会给个伪属性,当再次触发时,将伪属性改为真属性。这种可以直接获取真属性或者伪属性

8.js混淆:返回的js代码像一对无序的东西,这个直接粘贴到反混淆网站就可以

9.js逆向:现在好多网站开始使用js逆向了,在前端时给页面上的内容绑定事件,点击或者滑动页面时触发事件,向指定的内容发送请求返回内容,有的还会在前端进行加密,这种解决方案是将js代码下载到本地,使用excejs对js函数进行操作,将携带的参数格式化成携带参数的json字符串,模拟js代码运行返回数据

猜你喜欢

转载自www.cnblogs.com/blackball9/p/11923179.html