chrome动态ip python_如何使用requests模块检测代理IP是否有效?

本文介绍如何使用Python的requests模块检测免费代理IP是否有效,并匿名性。通过读取代理IP文件,循环遍历并发送网络请求,结合响应状态码判断代理IP的可用性。示例代码展示了具体的实现过程。
摘要由CSDN通过智能技术生成

提供免费代理IP的网页有很多,但是经过测试我们会发现并不是所有的免费代理IP都是有效的,甚至更不是匿名IP(即获取远程访问用户的IP地址是代理服务器的IP地址,不是用户本地真实的IP地址,)。所以要使用我们爬取下来的免费代理IP,就需要对这个IP进行检测。

实现检测免费代理IP是否可用时,首先需要读取保存免费代理IP的文件,然后对代理IP进行遍历并使用免费的代理IP发送网络请求,而请求地址可以使用查询IP位置的网页。如果网络请求成功说明免费的代理IP可以使用,并且还会返回当前免费代理IP的匿名地址。代码如下:

01  import requests  # 导入网络请求模块

02  import pandas    # 导入pandas模块

03  from lxml import etree  # 导入HTML解析模块

04  

05  ip_table = pandas.read_excel('ip.xlsx')  # 读取代理IP文件内容

06  ip = ip_table['ip']    # 获取代理ip列信息

07  # 头部信息

08  headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '

09    'AppleWebKit/537.36 (KHTML, like Gecko) '

10    'Chrome/72.0.3626.121 Safari/537.36'}

11  # 循环遍历代理IP并通过代理发送网络请求

12  for in ip:

13  proxies = {'http': 'http://{ip}'.format(ip=i),

14  'https': 'https://{ip}'.format(ip=i)}

15  try:

16  response = requests.get('http://202020.ip138.com/',

17 headers=headers,proxies=proxies,timeout=2)

18  if response.status_code==200:   # 判断请求是否成功,请求成功说明代理IP可用

19  response.encoding='utf-8'     # 进行编码

20  html = etree.HTML(response.text)  # 解析HTML

21  info = html.xpath('/html/body/p[1]//text()')

22   print(info)     # 输出当前ip匿名信息

23  except Exception as e:

24  pass

25  # print('错误异常信息为:',e)    # 打印异常信息

程序运行结果如图1所示。

ab81e8cb0a6337ef7db0e44d760e2c64.png

图1  打印可用的匿名代理ip

注意:如果以上示例代码运行出错,可能是查询IP的请求地址出现问题,读者可以根据自己查找的(IP查询)请求地址进行更换。

今天的技能你get√了吗?想学习更多关于网络爬虫的硬核技能,推荐大家学习《Python网路爬虫从入门到实践》:全彩印刷,书中全面细致的讲解了关于Python网络爬虫开发所需的基础知识及核心技术,通过知识讲解→快速示例→综合应用→实战项目,四位一体的方式进行讲解,循序渐进,由浅入深,让大家快速达到理解和应用的目的,同时还设有技术交流群,图书作者和技术老师会在统一时间在线答疑哦~

全彩印刷,每满100减50,店铺首页领券更划算哦~

点我购买:《Python网络爬虫从入门到实践》

0cc1a1a4dac210daccba5545f9e4317c.png

End

目前100000+人已关注加入我们

8a57834e7006e393a079832aafad4ae7.gif 2e812ff0d5a428bd4c139aa1c8a6de9d.gif 5d627511bc7aad9d1861591dc3411eca.gif 3b7e2bc38a379ae9af6192d44667f50a.gif 58d90ecb7e2eb0f29f8af5728118b4fd.gif 53a862c887f62ca63d5fb5bd8d91cf1d.gif 926ae969e734de9a131ba85558f92d91.gif 0484d69f7bd563636a81f0124127c267.gif

d3bac765b509f46ea85670fa18892978.gif c5558306bf91cbddaef68abf0f05ce1a.gif 4f47026de3167d70b0b4225746df9db5.gif 1ec46793d4cc2232684667e1e81bdfc2.gif 8d5cb1a1cf294ea6f60f236847ab9672.gif 22dca9608fe6d077c8cdd27e2818d37a.gif fbfeacfc8f61a726342c5b722a89e267.gif aaddcfbc26de2fd71e2212e570c3b613.gif

点击阅读原文

进入明日科技京东自营店↓↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值