设置IP代理池
2019-05-17 本文已影响0人
haokeed
# 获取本机ip
import requests
import re
url="http://www.baidu.com/s?wd=ip"
res=requests.get(url)
res.encoding="utf-8"
pat='<span class="c-gap-right">本机IP: (.*)</span>'
ip=re.findall(pat,res.text)
print(ip)
# 代理IP的设置 超时处理 异常处理
# 代理ip获取的地址 https://www.xicidaili.com/ 西刺免费代理IP
ip="1.197.204.142:9999"
try:
res=requests.get(url,proxies={"http":"http://"+ip},timeout=0.03) # 采用代理ip执行 设置请求超时时间
res.encoding='utf-8'
pat='<span class="c-gap-right">本机IP: (.*)</span>'
ip=re.findall(pat,res.text)
print(ip)
except Exception as e:
print("异常出现:",str(e))
# ip地址代理池
import requests
import re
from lxml import etree
ip_url="http://www.xicidaili.com/"
head={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
rst=requests.get(ip_url,headers=head)
#print(rst)
root=etree.HTML(rst.text)
ip=root.xpath("//tr[@class='odd']/td[2]/text()")
# print(ip)
port=root.xpath("//tr[@class='odd']/td[3]/text()")
# print(port)
ip_pools=list(zip(ip,port)) #配对
print(ip_pools)
import random
":".join(random.choice(ip_pools))
url="http://www.baidu.com/s?wd=ip"
for i in range(5):
ip=":".join(random.choice(ip_pools))
print("当前选取的IP:"+ip)
try:
res=requests.get(url,proxies={"http":"http://"+ip},timeout=3) # 采用代理ip执行 设置请求超时时间
res.encoding='utf-8'
pat='<span class="c-gap-right">本机IP: (.*)</span>'
ip=re.findall(pat,res.text)
print(ip)
except Exception as e:
print("异常出现:",str(e))
print("\n")
![](https://img.haomeiwen.com/i3286070/f2b23f547dfc231a.png)
![](https://img.haomeiwen.com/i3286070/19f124b4bf3801dd.png)
![](https://img.haomeiwen.com/i3286070/143f34a02d0d1f58.png)