概述
当我们编写爬虫程序去访问网站时,对方网站会设置一些反反爬虫措施。
例如:检查IP访问频率、检查Header参数、检查代理IP等。
使用代理IP是反反爬虫的一种常用方式,但是即使使用代理IP,对方服务器任然会有很多的方式来检测我们是否是一个爬虫。
因此,在使用代理IP时,最好使用随机的方式进行选择,不要每次都使用同一个代理IP,以避免被对方网站识别出来并屏蔽。
代理示例
请求测试网站:httpbin.org/ip;可以把ip换成请求方式(如get)
使用代理时,需要加入请求参数关键字:proxies
例如:requests.ge("url" , proxies{"http | https" : " ip : 端口号"})
import requests
res = requests.get("http://httpbin.org/ip",proxies={
"http":"101.132.25.152:50001"
})
print(res.text)
#输出:
{"origin": "101.132.25.152"}
免费代理
当前花钱买的代理更好,如果不想额外花钱,也可以百度上找免费代理。
但是,很多免费代理的时效性很短,可能几小时/几天就过期了,或者已经不能用了。
找到免费代理后,可以先验证一下是否可用。
找到一个免费的代理网站,不太友好,没有明确是http,还是https
验证一下第一个ip是否可用,只能瞎蒙,一开始写http执行卡住,再换成https,可用:
import requests
res = requests.get("http://httpbin.org/ip",proxies={
"https":"49.89.70.229:8089" #一个代理ip
})
print(res.text)
#输出:
{ "origin": "112.64.60.168"}