本文主要介绍Python常见的反爬虫机制解决方案,通过示例代码非常详细的介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
1、使用代理
适用:可以限制IP地址,也可以解决需要输入验证码才能登录的“频繁点击”问题。
在这种情况下,最好的方法是维护一个代理IP池。网上免费代理IP很多,良莠不齐。你可以通过筛选找到可用的。在“频繁点击”的情况下,我们也可以通过限制爬虫访问网站的频率来避免被网站封禁。
proxy={ ' http ':' http://xx。XX.XX.XX:XXXX'}
请求:
导入请求
response=requests.get(url=url,proxies=proxies)
Urllib2:
导入urllib2
proxy_support=urllib2。代理处理程序(代理)
opener=urllib2 . build _ opener(proxy _ support,URL lib 2。HTTPHandler)
Urlib2.install _ opener (opener) #安装opener,然后调用urlopen()时会用到安装的opener对象。
response=urllib2.urlopen(url)
2、时间设置
适用场合:频率有限的情况。
请求,Urllib2都可以使用时间库的sleep()函数:
导入时间
时间.睡眠(1)
3、伪装成浏览器,或者反“防盗链”
有些网站会自动检查你实际上是被浏览器访问还是被机器访问。在这种情况下,加上用户代理,这表明你是一个浏览器访问。有时
会检查你是否有推荐人信息,你的推荐人是否合法,一般是带推荐人的。
headers={ ' user-agent ':' xxxxx ' } #伪装成浏览器访问适用于拒绝爬虫的网站。
headers={'Referer':'XXXXX'}
headers={'User-Agent':'XXXXX ',' Referer':'XXXXX'}
请求:
response=requests.get(url=url,headers=headers)
Urllib2:
导入urllib,urllib2
req=urllib2。请求(url=url,头=头)
response=urllib2.urlopen(req)
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。