欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

组建IP代理池的简单使用

程序员文章站 2022-05-19 13:23:48
...
##实现动态的爬取某网站的代理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()

相关标签: python