有时候,我们需要用到代理IP,比如在爬虫的时候,但是得到了IP之后,可能不知道怎么验证这些IP是不是有效的,这时候我们可以使用Python携带该IP来模拟访问某一个网站,如果多次未成功访问,则说明这个代理是无效的。
代码如下:

import requests
import random
import timehttp_ip = ['118.163.13.200:8080','222.223.182.66:8000','51.158.186.242:8811','171.37.79.129:9797','139.255.123.194:4550'
]for i in range(10):try:ip_proxy = random.choice(http_ip)proxy_ip = {'http': ip_proxy,'https': ip_proxy,}print('使用代理的IP:', proxy_ip)response = requests.get("http://httpbin.org/ip", proxies=proxy_ip).textprint(response)print('当前IP有效')time.sleep(2)except Exception as e:print(e.args[0])print('当前IP无效')continue

运行结果如下:

使用代理的IP: {'http': '118.163.13.200:8080', 'https': '118.163.13.200:8080'}
HTTPConnectionPool(host='118.163.13.200', port=8080): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000247674F5F88>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{"origin": "51.158.186.242"
}当前IP有效
使用代理的IP: {'http': '222.223.182.66:8000', 'https': '222.223.182.66:8000'}
{"origin": "139.202.62.84, 222.223.182.66"
}当前IP有效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{"origin": "51.158.186.242"
}当前IP有效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{"origin": "51.158.186.242"
}当前IP有效
使用代理的IP: {'http': '222.223.182.66:8000', 'https': '222.223.182.66:8000'}
HTTPConnectionPool(host='222.223.182.66', port=8000): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000247675067C8>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效
使用代理的IP: {'http': '139.255.123.194:4550', 'https': '139.255.123.194:4550'}
HTTPConnectionPool(host='139.255.123.194', port=4550): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000247674F55C8>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{"origin": "51.158.186.242"
}当前IP有效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{"origin": "51.158.186.242"
}当前IP有效
使用代理的IP: {'http': '222.223.182.66:8000', 'https': '222.223.182.66:8000'}
HTTPConnectionPool(host='222.223.182.66', port=8000): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000024767514908>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效

Python 快速验证代理IP是否有效相关推荐

  1. python 代理ip验证_Python 快速验证代理IP是否有效,再也不用担心被封IP了!

    有时候,我们需要用到代理IP,比如在爬虫的时候,但是得到了IP之后,可能不知道怎么验证这些IP是不是有效的,这时候我们可以使用Python携带该IP来模拟访问某一个网站,如果多次未成功访问,则说明这个 ...

  2. python爬取国内代理ip_【python】国内高匿代理爬取,并验证代理ip有效性

    运行环境:python 3.7.3 所需库: 1. requests 2. lxml 3. time 4. multiprocessing 5. sys 目的:构建自己的代理ip池,针对封ip型反爬虫 ...

  3. selenium+python设置爬虫代理IP

    selenium+python设置爬虫代理IP 1. 背景 在使用selenium浏览器渲染技术,爬取网站信息时,一般来说,速度是很慢的.而且一般需要用到这种技术爬取的网站,反爬技术都比较厉害,对IP ...

  4. python爬虫设置代理ip池

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

  5. 使用python多线程获取代理IP(代理IP池,附源码)

    @[TOC]使用python多线程获取代理IP(代理IP池,附源码) 代理IP池 都说现在是大数据的时代,大多数的厂商会特别的注重自己家的数据安全问题,但同时,也有着许多的行业是需要大数据来做支撑的, ...

  6. Python之免费代理ip的抓取与使用

    Python之免费代理ip的抓取与使用 使用爬虫不可避免的就会遇到网站的各种封ip操作,因此就需要我们找寻代理,通过代理进行操作,屏蔽自己真实ip. 本文直接从网站中抓取代理ip地址,进行测试,并将测 ...

  7. python爬虫设置代理ip池——方法(一)

    """ 在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网 ...

  8. Python 爬虫使用代理 IP 的正确方法

    代理 IP 是爬虫中非常常用的方法,可以避免因为频繁请求而被封禁.下面是 Python 爬虫使用代理 IP 的正确方法: 1. 选择可靠的代理 IP 供应商,购买或者免费使用代理 IP 列表. 2. ...

  9. selenium+python设置爬虫代理IP的方法

    1. 设置背景 在使用selenium浏览器渲染技术,当我们爬取某个网站的信息的时候,在一般情况下速度都不是特别的快.而且需要利用selenium浏览器渲染技术爬取的网站,反爬虫的应对技术都比较厉害, ...

  10. Windows上利用Python自动切换代理IP的终极方案!

    转载:http://www.jianshu.com/p/49c444d9a435 文/solomonxie(简书作者) 原文链接:http://www.jianshu.com/p/49c444d9a4 ...

最新文章

  1. X-UA-Compatible
  2. mysql errno : 1146_MySQL_MySQL复制出错 Last_SQL_Errno:1146的解决方法,背景:我们在做数据迁移或者 - phpStudy...
  3. VS或编译的时候不生成Release文件夹
  4. sqlserver备份和恢复
  5. C语言课后习题(10)
  6. 鸿蒙手机播放音乐-第一集
  7. 小米12 Ultra将搭载5倍潜望镜头:自研技术加持 成像相对更好
  8. 线程安全问题的本质详解: 原子性、有序性、可见性
  9. visual studio 删除附加项
  10. Java内存模型与共享变量可见性
  11. geany配置python闪退_Geany中怎么配置python?
  12. 扇贝python编程课_扇贝编程APP下载|扇贝编程python V1.1.35 安卓版下载 - 下载银行...
  13. UVA 1647 Computer Transformation
  14. 美团OCTO万亿级数据中心计算引擎技术解析
  15. 实用英语:女生拒绝男生搭讪的经典英语句
  16. 全国省市区县 MySQL 数据库 含行政区划编码 名称 父级行政区划编码 基于国家统计局2017年3月发布数据
  17. Mac鼠标跟踪速度慢的问题(小技巧)
  18. 如何用阿里云服务器搭建微信公众号机器人?
  19. 用Revit怎么画有几种材质的面砖/面墙?
  20. Bugku 宽带信息泄露 详解 MISC

热门文章

  1. c#实现json转kml、kmz、shp格式
  2. 线性代数张宇9讲 第六讲 线性方程组
  3. J1939广播DM1报文
  4. 在线java编译器_五个免费在线Java编译器,轻松编译代码
  5. 还找不到想要的文章吗?微信公众号搜索方法大全
  6. Pycharm下载包慢的问题
  7. 比较好用的二进制文件编辑与比较软件
  8. IPMI 接口配置
  9. Activiti 单环节多人办理一件
  10. 利润表模板excel_分享用了8年的excel记账系统,一键录入,多表生成,记账很简单...