组建IP代理池的简单使用

##实现动态的爬取某网站的代理IP,并通过自己的博客链接测试当前的代理IP是否可用
#实现一个IP代理池的维护
#
import json

import requests
from lxml import etree
#这个网站上的“http://www.mogumiao.com/web”IP是由JSON动态加载的,直接抓到json包即可爬去
url="http://www.mogumiao.com/proxy/free/listFreeIp"
#两个列表分别存储IP地址和端口
IP=[]
#获取网站首页信息
def getHtml(url):
    res=requests.get(url)
    dictIp=json.loads(res.text)
    for i in range(0,5):
        ipi=dictIp['msg'][i]['ip']
        porti=dictIp['msg'][i]['port']
        ipPort="https://"+ipi+":"+porti  #将获取到的IP和端口狗造成字符串 然后添加到列表中
        IP.append(ipPort)


#将爬到的IP地址进行测试 用自己的博客网站  参数为IP地址和端口号
def testIp(agentIp,agentPort):
    proxy = {

        "http": "http://"+str(agentIp)+":"+str(agentPort),
        "https": "https://"+str(agentIp)+":"+str(agentPort)
    }  # 设置IP代理
    head = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
        'Connection': 'keep-alive'}
    #这个地方记得价格try--catch 将测试成功的IP地址和测试未成功的IP地址进行分类
    #可以将测试成功的IP地址写入到本地文件中  方便刷博客访问量的时候使用
    ip_ = requests.get("https://blog.csdn.net/just_so_so_fnc/article/details/78640420", timeout=3)
    print(ip_.text)

def tt():
    import requests
    proxies = {"http": "http://113.121.246.110:21807", "https": "http://113.121.246.110:21807", }
    # tte=requests.get("http://www.baidu.com", proxies=proxies,timeout=3)
    tte=requests.get("http://www.baidu.com")
    print(tte.text)
if __name__=="__main__":
    # getHtml(url)
    # print(IP)
    tt()

猜你喜欢

转载自blog.csdn.net/just_so_so_fnc/article/details/80317023