python3(requests)使用代理ip

以前记录的维护一个ip池

  • 当需要采集大量数据时,或者有的网站对访问速度特别严格的时候,有的网站就采取封ip,这样就需要使用代理ip。就像马蜂窝一样,,自从被曝数据造假之后,就不好爬了,python使用代理ip的小demo为:
  • 其中,如果你爬的为https://www.xxxxx这类那么proxies里面的https内容有效如果你爬的是http://biggsai.com这种,那么proxies就http有效
import requests
from bs4 import BeautifulSoup
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
proxies = {'http': '120.236.128.201:8060',
 'https': '120.236.128.201:8060'
 }
url="http://www.overlove.xin/html/"
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
req=requests.get(url,headers=header,proxies=proxies,timeout=5)
html=req.text
soup=BeautifulSoup(html,'lxml')
print(soup.text)

输出为:python3(requests)使用代理ip_第1张图片
找一个可以定位的网站测试
python3(requests)使用代理ip_第2张图片

  • 网站是我以前写的一个天气预报接口(已经暴毙)。之前有写过用java如何写天气接口通过ip查看天气信息

如果通过购买的代理ip,就需要先解析格式,提取ip和端口构造ip池,详情可以参考我的刷票小程序
和代理ip爬虫。

  • 另外,使用代理ip的时候一定要用好try catch,如果对信息完整性要求比较高。还需要对失败后从写方法,因为代理ip如果时免费的并不稳定,也有点慢。还有,有的ip不能用他会瞎跳到其他的链接上,比如跳到有道上,所以,使用代理ip时候一定要处理好异常,防止程序异常终止。

  • 如果对后端、爬虫、数据结构算法等感性趣欢迎关注我的个人公众号交流:bigsai
    python3(requests)使用代理ip_第3张图片

你可能感兴趣的:(#,python,爬虫)