常见的反爬虫机制,反爬虫的解决方案,Python常见反爬虫机制解决方案

常见的反爬虫机制,反爬虫的解决方案,Python常见反爬虫机制解决方案

本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: