我们知道,一些网站会有相应的反爬虫措施,比如检测某些IP的访问次数或者访问频率,有些反人类的访问速度就会收到限制甚至封禁,所以在进行爬虫工作时也要讲究策略,比如使用代理IP,调整访问频率,设置UA等等,让我们来看看如何简单的使用代理IP。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
import random
if __name__ == "__main__":
#不同浏览器的UA
header_list = [
# 遨游
{"user-agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"},
# 火狐
{"user-agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"},
# 谷歌
{
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}
]
#不同的代理IP(该代理ip可能已经失效,请自行去站大爷网站上购买开通)
proxy_list = [
{"http": "112.115.57.20:33128"},
{‘http‘: ‘121.41.171.223:32128‘}
]
#随机获取UA和代理IP
header = random.choice(header_list)
proxy = random.choice(proxy_list)
url = ‘http://www.baidu.com/s?ie=UTF-8&wd=ip‘
#参数3:设置代理
response = requests.get(url=url,headers=header,proxies=proxy)
response.encoding = ‘utf-8‘
with open(‘daili.html‘, ‘wb‘) as fp:
fp.write(response.content)
#切换成原来的IP
requests.get(url, proxies={"http": ""})