Python:常见反爬策略及应对方案汇总
2019常见反爬策略及应对方案大汇总了。如果你对反爬虫的策略和手段还掌握的不很全面,进来学就对了!一切都是刚刚好,一切都不晚!
1 . 构造合理的HTTP请求头。
AcceptUser-Agent - 三方库fake-useragentfromfake_useragentimportUserAgentua=UserAgent()ua.ie#Mozilla/5.0(Windows;U;MSIE9.0;WindowsNT9.0;en-US);ua.msie#Mozilla/5.0(compatible;MSIE10.0;Macintosh;IntelMacOSX10_7_3;Trident/6.0)'ua['InternetExplorer']#Mozilla/5.0(compatible;MSIE8.0;WindowsNT6.1;Trident/4.0;GTB7.4;InfoPath.2;SV1;.NETCLR3.3.69573;WOW64;en-US)ua.opera#Opera/9.80(X11;Linuxi686;U;ru)Presto/2.8.131Version/11.11ua.chrome#Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.2(KHTML,likeGecko)Chrome/22.0.1216.0Safari/537.2'ua.google#Mozilla/5.0(Macintosh;IntelMacOSX10_7_4)AppleWebKit/537.13(KHTML,likeGecko)Chrome/24.0.1290.1Safari/537.13ua['googlechrome']#Mozilla/5.0(X11;CrOSi6862268.111.0)AppleWebKit/536.11(KHTML,likeGecko)Chrome/20.0.1132.57Safari/536.11ua.firefox#Mozilla/5.0(WindowsNT6.2;Win64;x64;rv:16.0.1)Gecko/20121011Firefox/16.0.1ua.ff#Mozilla/5.0(X11;Ubuntu;Linuxi686;rv:15.0)Gecko/20100101Firefox/15.0.1ua.safari#Mozilla/5.0(iPad;CPUOS6_0likeMacOSX)AppleWebKit/536.26(KHTML,likeGecko)Version/6.0Mobile/10A5355dSafari/8536.25#andthebestone,randomviarealworldbrowserusagestatisticua.randomRefererAccept-EncodingAccept-Language
2 . 检查网站生成的Cookie。
有用的插件:EditThisCookie如何处理脚本动态生成的Cookie3 . 抓取动态内容。
Selenium + WebDriverChrome / Firefox - Driver4 . 限制爬取的速度。
5 . 处理表单中的隐藏域。
在读取到隐藏域之前不要提交表单用RoboBrowser这样的工具辅助提交表单6 . 处理表单中的验证码。
OCR(Tesseract) - 商业项目一般不考虑专业识别平台 - 超级鹰 / 云打码fromhashlibimportmd5classChaoClient(object):def__init__(self,username,password,soft_id):self.username=usernamepassword=password.encode('utf-8')self.password=md5(password).hexdigest()self.soft_id=soft_idself.base_params={'user':self.username,'pass2':self.password,'softid':self.soft_id,}self.headers={'Connection':'Keep-Alive','User-Agent':'Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.1;Trident/4.0)',}defpost_pic(self,im,codetype):params={'codetype':codetype,}params.update(self.base_params)files={'userfile':('captcha.jpg',im)}r=requests.post('http://upload.chaojiying.net/Upload/Processing.php',data=params,files=files,headers=self.headers)returnr.json()if__name__=='__main__':client=ChaoClient('用户名','密码','软件ID')withopen('captcha.jpg','rb')asfile:print(client.post_pic(file,1902))
7 . 绕开“陷阱”。
网页上有诱使爬虫爬取的爬取的隐藏链接(陷阱或蜜罐)通过Selenium+WebDriver+Chrome判断链接是否可见或在可视区域8 . 隐藏身份。
代理服务 - 快代理 / 讯代理 / 芝麻代理 / 蘑菇代理 / 云代理洋葱路由 - 国内需要fan qiang才能使用yum-yinstalltoruseraddadmin-d/home/adminpasswdadminchown-Radmin:admin/home/adminchown-Radmin:admin/var/run/tortor
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。