首页>比特动态>如何通过requests使用代理IP进行爬虫工作
如何通过requests使用代理IP进行爬虫工作

  如何通过requests使用代理IP进行爬虫工作?我们知道,一些网站会有相应的反爬虫措施,比如检测某些IP的访问次数或者访问频率,有些反人类的访问速度就会收到限制甚至封禁,所以在进行爬虫工作时也要讲究策略,比如使用代理IP,调整访问频率,设置UA等等,让我们来看看如何简单的使用代理IP。


如何通过requests使用代理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": ""})