以前记录的维护一个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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
输出为:
找一个可以定位的网站测试
- 网站是我以前写的一个天气预报接口(已经暴毙)。之前有写过用java如何写天气接口通过ip查看天气信息
如果通过购买的代理ip,就需要先解析格式,提取ip和端口构造ip池,详情可以参考我的刷票小程序
和代理ip爬虫。
-
另外,使用代理ip的时候一定要用好try catch,如果对信息完整性要求比较高。还需要对失败后从写方法,因为代理ip如果时免费的并不稳定,也有点慢。还有,有的ip不能用他会瞎跳到其他的链接上,比如跳到有道上,所以,使用代理ip时候一定要处理好异常,防止程序异常终止。
-
如果对
后端、爬虫、数据结构算法
等感性趣欢迎关注我的个人公众号交流:bigsai
文章来源: bigsai.blog.csdn.net,作者:Big sai,版权归原作者所有,如需转载,请联系作者。
原文链接:bigsai.blog.csdn.net/article/details/83588989