首页 > 编程知识 正文

爬虫代理IP,selenium python

时间:2023-05-03 17:40:53 阅读:37588 作者:229

主要思路分为两个阶段。 第一步确定代理IP是否有效,第二步获取免费站点的代理IP,第三步循环确定获取的代理IP是否有效

一、判断代理IP是否有效

代理:代理分为两种类型: http和https。 登上不同网站时,必须选择不同类型的代理。 代理ip仅在代理类型与您希望访问的站点类型相同时才起作用。 否则,request会要求使用你的真实ip地址。 参照代理IP的proxies介绍并使用re.findall ()。 返回字符串中与pattern匹配的所有字符串。 返回值为数据格式,详细用法请参阅正则表达式re.findall用法,正则表达式-元字符

re.findall(pattern,string,flags=0) )。

代码如下,主要参考如何测试代理的ip是否可用。 importrandomimportrequestsimportre“”设计思路:使用http://icanhazip.com/返回的ip进行验证。 如果返回的ip是代理池中的ip,则表示代理已启用,否则实际代理无效。' ' ' #代理ip池:proxies主要是代理proxies _ new={ ' https ' : [ ' https://175.42.129.1073360999 ',' 3https://199 ] ' ' https://36.248.133.23:9999 ',' https://117.69.150.50:9999 ', ]}循环提取lens=len (proxies _ new [ ' https ' ] print ) lens ) num=1i=0while num=lens 3360 try : # 三次重新连接的机制requests.adapters.default _ retries=3proxies=proxies _ new [ ' https ' ] # IP=random.choice (proxies print[IP]#print[type[IP]]#将以下字符标记为特殊字符,d与数字字符匹配,等效于[0-9] d.d ) : ',IP ([0] b=使用从timeout=8,proxies={ ' https ' : ' https://113.140.1.82336053281 ' } # http://icanhazip.com /返回的IP进行检查如果返回的IP不是代理池,则实际代理无效。 #设置连接超时。 当您的客户端实现远程连接及其端口时,请求将等待。 如果不设置,请求超时代码会卡在哪里? 不报告错误,也没有请求响应RES=requests.get (URL=' http://icanhazip.com/com time out=8) proxy IP=RES.text # print ) else: print ('代理ip无效,而不是代理池中的ip! ' ) i=i 1 except: print ('代理IP无效! ' (打印) 111 ) else: (打印) success ) ) num =1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。