千家信息网

python如何爬取免费代理并验证代理是否可用

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,python如何爬取免费代理并验证代理是否可用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。分享一个python脚本,使用代理ip来
千家信息网最后更新 2024年09月22日python如何爬取免费代理并验证代理是否可用

python如何爬取免费代理并验证代理是否可用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

分享一个python脚本,使用代理ip来访问网页,方便抓取数据什么的~并自动验证ip是否可以用

什么情况下会用到代理IP?比如你要抓取一个网站数据,该网站有100万条内容,他们做了IP限制,每个IP每小时只能抓1000条,如果单个IP去抓因为受限,需要40天左右才能采集完,如果用了代理IP,不停的切换IP,就可以突破每小时1000条的频率限制,从而提高效率。

脚本开始:

import requestsfrom lxml import etree# 获取快代理首页的代理def get_proxy_list():    url = "https://www.jxmtjt.com/"    payload = {}    headers = {        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",        'Accept': 'application/json, text/javascript, */*; q=0.01',    }    response = requests.request("GET", url, headers=headers, data=payload)    res = []    _ = etree.HTML(response.text)    type_dct = {        "HTTP": "http://",        "HTTPS": "https://"    }    data_list = _.xpath("//tbody/tr")    for data in data_list:        ip = data.xpath("./td[1]/text()")[0]        port = data.xpath("./td[2]/text()")[0]        type = data.xpath("./td[4]/text()")[0]        res.append(type_dct[type] + ip + ':' + port)    return res# 测试代理def check(proxy):    href = 'http://www.baidu.com/'    if 'https' in proxy:        proxies = {'https': proxy}    else:        proxies = {'http': proxy}    headers = {        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4396.0 Safari/537.36'    }    try:        r = requests.get(href, proxies=proxies, timeout=5, headers=headers)        if r.status_code == 200:            return True    except:        return Falseif __name__ == '__main__':    proxy_list = get_proxy_list()    print(proxy_list)    for p in proxy_list:        print(p, check(p))大家代码复制后,把获取代理ip的网址改一改就可以用了,代码我一直在用,大家也可以cnblogs,百度搜索一下有没有免费的代理ip获取网址~

关于python如何爬取免费代理并验证代理是否可用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0