设置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:&nbsp;(.*)</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:&nbsp;(.*)</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:&nbsp;(.*)</span>'
        ip=re.findall(pat,res.text)
        print(ip)
    except Exception as e:
        print("异常出现:",str(e))
        print("\n")
image.png
image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读