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如何记录自定义日志?(Log频道配置)
C++时间戳转换成日期时间的步骤和示例代码
QQ浏览器网页版登录入口 个人中心在线进入
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
Laravel中的withCount方法怎么高效统计关联模型数量
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
北京网站制作的公司有哪些,北京白云观官方网站?
如何用美橙互联一键搭建多站合一网站?
深入理解Android中的xmlns:tools属性
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
HTML 中动态设置元素 name 属性的正确语法详解
linux top下的 minerd 木马清除方法
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何在搬瓦工VPS快速搭建网站?
javascript基本数据类型及类型检测常用方法小结
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何优化应用性能?(缓存和优化命令)
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
网站制作大概多少钱一个,做一个平台网站大概多少钱?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
网站制作免费,什么网站能看正片电影?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
Laravel如何生成URL和重定向?(路由助手函数)
jquery插件bootstrapValidator表单验证详解
Swift开发中switch语句值绑定模式
网站建设要注意的标准 促进网站用户好感度!
如何在万网利用已有域名快速建站?
高端企业智能建站程序:SEO优化与响应式模板定制开发
利用JavaScript实现拖拽改变元素大小
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
在线教育网站制作平台,山西立德教育官网?
如何用狗爹虚拟主机快速搭建网站?
JavaScript实现Fly Bird小游戏
如何在不使用负向后查找的情况下匹配特定条件前的换行符
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
七夕网站制作视频,七夕大促活动怎么报名?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
详解vue.js组件化开发实践
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
javascript中的try catch异常捕获机制用法分析
javascript中的数组方法有哪些_如何利用数组方法简化数据处理

