[快代理]python批量获取代理IP

前言

你好,我是python书生,一个入门小萌新!

项目背景

  • 最近,我在爬取视频时,发现大多网站主流反爬虫的手段一般是“IP封锁”,我们为了防止个人IP被禁,想到的就是以IP代理作为第一道防屏蔽策略。
  • 网上的一些知识太过于零散,项目代码都达不到想要的效果,所以亲自搭建实战项目,与大家分享!

项目简介

本项目主要基于Python搭建简单爬虫,爬取快代理网站的IP数据,经过有效性验证后输出,方便以后开展更多的爬虫项目,能防止个人IP被封锁。

 

from xml import etree
import requests
from lxml import etree
import time
import concurrent.futures
import telnetlib
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',
}
proxies = {
'Http': 'http://60.205.132.71:80',
'Https': 'http://60.205.132.71:80',
'Http': 'http://183.247.221.119:30001',
'Https': 'http://183.247.221.119:30001',
}
# 获取快代理首页的代理
def get_proxy_list(url):
    q = []
    w = []
    for o in range(url):
        url =f"https://www.kuaidaili.com/free/inha/{o+1}/"
        text = requests.get(url, headers=headers,proxies=proxies, timeout=(3, 6)).text
        html = etree.HTML(text)
        ip = html.xpath("//tbody/tr/td[@data-title='IP']/text()")
        port = html.xpath("//tbody/tr/td[@data-title='PORT']/text()")
        q.append(ip)
        w.append(port)
        time.sleep(1)
    lqs=[]
    for iq in q:
        for uq in iq:
            lqs.append(uq)
    lws=[]
    for iw in w:
        for uw in iw:
            lws.append(uw)
    return lqs,lws
#测试代理
def id(ip,port):
    # print(ip, port)
    li=[]
    try:
        telnetlib.Telnet(ip, port, timeout=3)
        # print(f"{ip}:{port}代理IP有效!")
        p=f"{ip}:{port}"
        print(f"'Http': 'http://{p}',")
        print(f"'Https': 'http://{p}',")
    except:
        # print(f"{ip}:{port}代理IP无效!")
        concurrent
if __name__ == '__main__':
    url = int(input('请输入要获取多少页:'))
    ip,port=get_proxy_list(url)
    with concurrent.futures.ThreadPoolExecutor() as executo:
       for i in range(len(ip)):
        executo.submit(id,ip[i],port[i])
    SJ = 30   #脚本获取完ip后等待时间
    print(f"{url}页可用代理IP获取完成,{SJ}s后页面关闭。")
    time.sleep(SJ)
获取三页并效验完成
F:\python\SoftWareSpace\python\python.exe F:/python/WorkSpace/爬虫1/视频/快代理V23.10.9.py
请输入要获取多少页:3
'Http': 'http://183.247.221.119:30001',
'Https': 'http://183.247.221.119:30001',
'Http': 'http://60.205.132.71:80',
'Https': 'http://60.205.132.71:80',
'Http': 'http://183.247.221.119:30001',
'Https': 'http://183.247.221.119:30001',
'Http': 'http://60.205.132.71:80',
'Https': 'http://60.205.132.71:80',
3页可用代理IP获取完成,30s后页面关闭。

进程已结束,退出代码0
后语
  1. 原创内容,转载说明出处哦!
  2. 以上内容本人整理,亲测可行,如有任何问题,敬请指正,谢谢~~
  3. 点赞、收藏、也欢迎打赏,我弹钢琴你听呀~~哈哈!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值