python3(requests)使用代理ip
- 当需要采集大量数据时,或者有的网站对访问速度特别严格的时候,有的网站就采取封ip,这样就需要使用代理ip。就像马蜂窝一样,,自从被曝数据造假之后,就不好爬了,python使用代理ip的小demo为:
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)
输出为:
找一个可以定位的网站测试
网站是我以前写的一个天气预报接口(已经暴毙)。之前有写过用java如何写天气接口通过ip查看天气信息
如果通过购买的代理ip,就需要先解析格式,提取ip和端口构造ip池,进行随机选用。原谅我穷逼买不起ip。。呜呜。
- 另外,使用代理ip的时候一定要用好try catch,如果对信息完整性要求比较高。还需要对失败后从写方法,因为代理ip如果时免费的并不稳定,也有点慢。还有,有的ip不能用他会瞎跳到其他的链接上,比如跳到有道上,所以,使用代理ip时候一定要处理好异常,防止程序异常终止。