Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
发布时间 - 2026-01-11 03:24:46 点击率:次本文实例讲述了Python3.4实现从HTTP代理网站批量获取代理并筛选的方法。分享给大家供大家参考,具体如下:

最近在写爬虫,苦于不采用代理的情况下,默认的IP不出几分钟就被封了,故而只能寻找代理。原以为找到HTTP代理就万事大吉了,没想到从那个网站获取的代理大部分都是不能用的,只有少部分能用。。。故而无奈之下,只能从那些代理网站大量获取代理IP,然后再拿过来进行进一步的筛选,将有效的代理IP提取出来,留待进一步使用。
筛选的主要原理是,通过main函数提取到未经筛选的代理rawProxyList,然后通过这些代理尝试连接目标网站(此文中是连接手机新浪网)。如果在规定时间内连接成功,则认定为有效代理,放到checkedProxyList之中。
__author__ = 'multiangle'
__edition__='python3.4'
import threading
import urllib.request as request
import time
rawProxyList=[]
checkedProxyList=[]
class proxycheck(threading.Thread):
def __init__(self,proxy_list):
threading.Thread.__init__(self)
self.proxy_list=proxy_list
self.timeout=3
self.testurl='http://www.sina.cn/'
self.testStr='手机新浪网'
def checkproxy(self):
cookies=request.HTTPCookieProcessor()
for proxy in self.proxy_list:
handler=request.ProxyHandler({'http':'http://%s'%(proxy)})
opener=request.build_opener(cookies,handler)
t1=time.time()
try:
req=opener.open(self.testurl,timeout=self.timeout)
res=req.read()
res=str(res,encoding='utf8')
usetime=time.time()-t1
if self.testStr in res:
checkedProxyList.append((proxy,usetime))
except Exception as e :
print(e)
def run(self):
self.checkproxy()
if __name__=='__main__':
num=20
thread_num=10
checkThrends=[]
url='YOUR PROXY URL' #提取代理的网站。
req=request.urlopen(url).read()
req=str(req,encoding='utf-8')
list=req.split('\r\n') #网站返回的是字符串格式,用'\r\n'进行分割
rawProxyList=list
print('get raw proxy')
for i in rawProxyList:
print(i)
# s=proxycheck_test(rawProxyList)
batch_size=int((len(rawProxyList)+thread_num-1)/thread_num)
print(batch_size)
for i in range(thread_num):
t=proxycheck(rawProxyList[batch_size*i:batch_size*(i+1)])
checkThrends.append(t)
for i in range(checkThrends.__len__()):
checkThrends[i].start()
for i in range(checkThrends.__len__()):
checkThrends[i].join()
print(checkedProxyList.__len__(),' useful proxy is find')
for i in checkedProxyList:
print(i)
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python3.4
# HTTP
# 代理网站
# 批量
# 获取
# 代理
# 筛选
# Python程序中设置HTTP代理
# 批量获取及验证HTTP代理的Python脚本
# Python request设置HTTPS代理代码解析
# 对python使用http、https代理的实例讲解
# Python代码实现http/https代理服务器的脚本
# python爬虫http代理使用方法
# Python异步爬虫requests和aiohttp中代理IP的使用
# python使用aiohttp通过设置代理爬取基金数据简单示例
# 解决python异步框架aiohttp无法使用本地代理问题
# python做http代理请求的项目实践
# 新浪网
# 的是
# 都是
# 进阶
# 操作技巧
# 相关内容
# 不出
# 万事大吉
# 时间内
# 数据结构
# 给大家
# 然后再
# 几分钟
# 不能用
# 更多关于
# 所述
# 程序设计
# 原以为
# 使用技巧
# 封了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何自定义建站之星网站的导航菜单样式?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
微信公众帐号开发教程之图文消息全攻略
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
如何快速搭建高效服务器建站系统?
网站建设整体流程解析,建站其实很容易!
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
,在苏州找工作,上哪个网站比较好?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
Laravel如何使用模型观察者?(Observer代码示例)
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
简历在线制作网站免费版,如何创建个人简历?
实例解析angularjs的filter过滤器
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
企业网站制作这些问题要关注
如何彻底卸载建站之星软件?
如何用已有域名快速搭建网站?
如何用IIS7快速搭建并优化网站站点?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
焦点电影公司作品,电影焦点结局是什么?
原生JS获取元素集合的子元素宽度实例
实例解析Array和String方法
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel如何使用Sanctum进行API认证?(SPA实战)
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
开心动漫网站制作软件下载,十分开心动画为何停播?
音响网站制作视频教程,隆霸音响官方网站?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Bootstrap CSS布局之列表
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
长沙企业网站制作哪家好,长沙水业集团官方网站?
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
nginx修改上传文件大小限制的方法
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
高端企业智能建站程序:SEO优化与响应式模板定制开发
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
微信小程序 HTTPS报错整理常见问题及解决方案
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
微信小程序 闭包写法详细介绍
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
JS弹性运动实现方法分析

