1. 获取代理IP

import re
import requestsproxies = []
base_url = "http://www.66ip.cn/areaindex_35/1.html"
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/81.0.4044.138 Safari/537.36','Cookie': 'Hm_lvt_1761fabf3c988e7f04bec51acd4073f4=1595389409; ''Hm_lpvt_1761fabf3c988e7f04bec51acd4073f4=1595397559 '
}
req1 = requests.get(url=base_url, headers=head)
patten = re.findall("<tr><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td></tr>", req1.text)
for index in range(1, len(patten)):proxy = patten[index]if proxy[0]+':'+proxy[1] not in proxies:proxies.append(proxy[0]+':'+proxy[1])
print(proxies)
print("共获取到{}个代理".format(len(proxies)))

此处使用正则表达式对网页表格数据进行提取

2. 验证代理是否可用

import telnetlibdef test_ip(ip, port):try:telnetlib.Telnet(ip, port, timeout=1)print("代理ip:{}:{}有效!".format(ip, port))except:pass

利用 Telnetlib 模块进行代理可用性测试

3. 汇总代码

import re
import telnetlibimport requestsdef test_ip(ip, port):try:telnetlib.Telnet(ip, port, timeout=1)print("代理ip:{}:{}有效!".format(ip, port))return Trueexcept:passreturn Falseproxies = []
base_url = "http://www.66ip.cn/areaindex_35/1.html"
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/81.0.4044.138 Safari/537.36','Cookie': 'Hm_lvt_1761fabf3c988e7f04bec51acd4073f4=1595389409; ''Hm_lpvt_1761fabf3c988e7f04bec51acd4073f4=1595397559 '
}
req1 = requests.get(url=base_url, headers=head)
patten = re.findall("<tr><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td></tr>", req1.text)
for index in range(1, len(patten)):proxy = patten[index]if proxy[0] + ':' + proxy[1] not in proxies:proxies.append(proxy[0] + ':' + proxy[1])# 可用代理
usable_proxies = []for proxy in proxies:p = proxy.split(':')if test_ip(p[0], p[1]):usable_proxies.append(proxy)print("共获取到 {} 个代理,其中可用代理为:{} 个,详情如下:\n{}".format(len(proxies), len(usable_proxies),usable_proxies))

上述为获取代理并验证可用性的全部代码,请根据需求进行修改。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xu_cxiang/article/details/112221737

python爬虫采集66代理(66IP)并验证可用性相关推荐

  1. Python爬虫采集抓取:Python3.x+Fiddler 采集抓取 APP 数据

    随着移动互联网的市场份额逐步扩大,手机 APP 已经占据我们的生活,以往的数据分析都借助于爬虫采集爬取网页数据进行分析,但是新兴的产品有的只有 APP,并没有网页端这对于想要提取数据的我们就遇到了些问 ...

  2. Python爬虫|采集开源众包的悬赏任务,自动翻页

    前言 现在互联网,有很多网站提供一些接单外派的形式,提供给有能力的人或者团队去接单.比如说,很多人熟悉的猪八戒,程序员客栈,CODING 码市,开源众包等等平台,相信很多同学也都知道. 如果要第一时间 ...

  3. 怎样使用python爬虫获得免费代理IP

    怎样使用python爬虫获得免费代理IP 进行爬取和测试有效性 总结 爬虫一直是python使用的一个重要部分,而许多网站也为此做了许多反爬措施,其中爬虫访问过于频繁直接封ip地址也作为一种" ...

  4. python 爬虫如何使用代理IP

    python3 爬虫如何使用代理IP 前言 众所周知,爬虫速度过快,频繁访问都会被封IP,怎么解决这个问题呢?再去换一台设备?先不说数据是否同步,仅仅换个设备的成本就不低,这个时候就需要代理IP了.以 ...

  5. Python爬虫——建立IP代理池

    在使用Python爬虫时,经常遇见具有反爬机制的网站.我们可以通过伪装headers来爬取,但是网站还是可以获取你的ip,从而禁掉你的ip来阻止爬取信息. 在request方法中,我们可以通过prox ...

  6. 干货|Python爬虫如何设置代理IP

    在学习Python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败.高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,这里讲述 ...

  7. 干货分享,使用python爬虫构建免费代理IP池

    在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,那如何解决呢?使用代 ...

  8. python discuz_用python爬虫采集discuz论坛数据

    2019年课程规划及价格说明 PHP实战视频教程大全 打算做一个论坛,可是论坛数据量大如果全靠自己手动发布工作了就太大了 所以就想用python写一个入门级的爬虫,其实爬虫写好了才发现,写爬虫采集数据 ...

  9. Python爬虫采集搞笑段子示例

    对于爬虫的用处不同的人有不同的看法,对于我而言,他是一门技能也是一门艺术,只有掌握其中的原理,才能让你体会到真正的快乐.下文就是我用python爬虫爬取搞笑段子的实例可以一起探讨下. 涉及知识点 1. ...

最新文章

  1. getDimension/getDimensionPixelSize/getDimensionPixelOffset()
  2. 【机器视觉】 dev_open_window算子
  3. WebSocket之仿QQWeb即时聊天系统(上)
  4. thinkphp 分页出错 $page-render() 出错
  5. Akka Remote Actor_简单示例二
  6. lightblue蓝牙调试助手v1.9.3 安卓最新版
  7. android addr2line 用法,分析安卓ANR tombstone使用ndk-stack addr2line
  8. PHP实现免费代理池
  9. 好用的浏览器主页有哪些?
  10. light oj 1224
  11. 头条App项目测试实战(七)实名认证功能用例设计
  12. 计时函数clock()与数据类型clock_t
  13. 安卓(Android)手机Flash Player官方下载地址
  14. 圣科车衣,给予您的爱车完美守护
  15. caffe内CHECK_EQ等函数意义解释
  16. 大熊猫源致病大肠杆菌CCHTP全基因组测序及耐药和毒力基因分析
  17. office365服务器没有响应,修复:由于长时间运行的脚本,Office 365没有响应
  18. 高德的位置服务器,高德位置服务浅析
  19. GOF23设计模式-创建型模式4-原型模式
  20. 《蹭课神器》Alpha版使用说明

热门文章

  1. 读英语计算机书籍读后感,英文书读后感范文(精选4篇)
  2. 解决微信开发者工具不能使用云开发的资源
  3. Spring Security Oauth2 授权码模式下 自定义登录、授权页面
  4. 计算机二级word难点大全,2019年3月计算机二级Word难点重点汇总
  5. 多元回归求解 机器学习_机器学习——算法第一课:回归分析
  6. BLDC电机FOC控制技术学习笔记2
  7. 洛谷P1618 三连击(升级版)
  8. python中axis=0 axis=1的理解
  9. html实现好看的生日祝福(源码)
  10. UE5 Shader基础学习笔记——13-20 DetailNormal/Smoothstep/Length/CeilFloorRound/DDXDDY/SinCos/Power