验证代理IP
#
#author:wuhao
#
import urllib.requestfrom http import cookiejar
import xlrd
import threading #有效的代理,可添加一个全局变量用于存储,然后保存到文件
#这里由于可行的代理IP太少,就未保存至本地
def Validate_proxy(url,proxy): opener.add_handler(urllib.request.ProxyHandler(proxy),lock)
try:
opener.open(url,timeout=3)
lock.acquire()
for key,value in proxy.items():
print(value+" has successed")
lock.release()
except:
lock.acquire()
for key,value in proxy.items():
print(value+" has failed")
lock.release()
#获取代理转换为{“http":"http://ip:port"}格式
def getProxy(ip,port):
global index
proxy={"http":"http://"+ip[index]+":"+port[index]}
index += 1
return proxy
#从excel中读取数据
def GetData():
#打开xls
data=xlrd.open_workbook("proxy.xls")
#获取工作表
table=data.sheets()[0]
#用于存储代理IP 和 端口
proxy_ip=[]
proxy_port=[]
#获取行数
row=table.nrows
#循环写入IP和端口
for line in range(1,row):
if table.row_values(line)[0]!="" and table.row_values(line)[1]!="":
proxy_ip.append(table.row_values(line)[0])
proxy_port.append(table.row_values(line)[1])
return proxy_ip,proxy_port if __name__=="__main__": proxy_ip=GetData()[0]
proxy_port=GetData()[1] # 全局变量
index = #用于测试的网站,可以查看IP
url="http://1212.ip138.com/ic.asp"
cookie=cookiejar.CookieJar()
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
lock=threading.Lock()
while index!=proxy_ip.__len__():
t1=threading.Thread(target=Validate_proxy,args=(url,getProxy(proxy_ip,proxy_port),lock))
t1.start() #欢迎大家评论指导



验证代理IP的更多相关文章
- 【原创】验证代理IP是否有用
/// <summary> /// 验证代理IP是否有用 /// </summary> /// <param name="ip">IP地址< ...
- Python 快速验证代理IP是否有效
有时候,我们需要用到代理IP,比如在爬虫的时候,但是得到了IP之后,可能不知道怎么验证这些IP是不是有效的,这时候我们可以使用Python携带该IP来模拟访问某一个网站,如果多次未成功访问,则说明这个 ...
- Java 验证代理ip
原文地址:http://www.cnblogs.com/junrong624/p/5416503.html 1 import java.io.IOException; import java.io.I ...
- c# 快速验证代理IP是否有用
public void yanzhen(string str, int port) { WebProxy proxyObject = new WebProxy(str, port);//str为IP地 ...
- 如何验证代理ip的正确性
python requests 使用代理的话: proxy_list = ["aabbcc.aabbcc.169.aabbcc:8080", ] ip_p = random.cho ...
- python验证代理IP
接上一篇保存的IP地址,进行验证 # -*- coding: utf-8 -*- import requests from threading import Thread import threadi ...
- 验证代理ip是否可用
改编自:http://www.jianshu.com/p/588241a313e7 # _*_ coding:utf-8 _*_ import urllib2 import re class Test ...
- python爬虫成长之路(二):抓取代理IP并多线程验证
上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的, ...
- 爬虫爬取代理IP池及代理IP的验证
最近项目内容需要引入代理IP去爬取内容. 为了项目持续运行,需要不断构造.维护.验证代理IP. 为了绕过服务端对IP 和 频率的限制,为了阻止服务端获取真正的主机IP. 一.服务器如何获取客户端IP ...
随机推荐
- 部署自己的GitLab
先说明一下自己的想法:无论怎么样,个人确实先不想升级到centos7上面,因为我觉得centos6还是比较占用资源少的,而且作为生产环境,centos6完全够用了. 实验测试环境: * centos ...
- 结对作业(1)----基于GUI的四则运算
小伙伴:201421123031 余洋 201421123044 潘志坚 题目要求: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是W ...
- 团队作业4---第一次项目冲刺(ALpha)版本 第七天
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 a.完成所有基础功能 b.正在进行测试调试 四.困难与问题 1.随着测试出现了大大小小的一些BUG,但是由于原来写的时候思维定 ...
- 201521123107 《Java程序设计》第2周学习总结
第2周作业-Java基本语法与类库 1.本周学习总结 要点主要有: (1)String类 String类是本周的一个重点,String类的对象是不可变的,即String对象后就在内存中开辟了一个字符串 ...
- 201521123104《java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...
- 201521123012 《Java程序设计》第十一周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1. ...
- linux fork两次避免僵尸进程的程序(简单)
#include<stdio.h> #include<unistd.h> int main() { pid_t pid,pid1; int status; ) { printf ...
- 参考:Python 调试方法
地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ 这是Python代码调试技巧,也是我今天从别的地方看到的,然后转载 ...
- tomcat The specified JRE installation does not exist
window->perferences->server->installed runtimes 里tomcat删掉,重新建立服务,再运行
- OC——关于KVO
我们知道在WPF.Silverlight中都有一种双向绑定机制,如果数据模型修改了之后会立即反映到UI视图上,类似的还有如今比较流行的基于MVVM设计模式的前端框架,例如Knockout.js.其实在 ...