# ProxyBat_v1.2.py
import urllib2
# 生成错误日志
def errortype():
global line,num_Error
if(num_Error==0):
f_log.write("==========保护视力的分割线==========\n")
num_Error=num_Error+1
f_log.write(line)
f_log.write('\n')
# 用来记录发生错误的个数
num_Error=0
# 用来存放代理地址的文件
f_proxy=file('proxy.txt','r')
f_log=file('ErrLog.txt','a')
# 读取文件每一行的代理地址
while True:
line=f_proxy.readline()
if len(line)==0:
break
# 使用自己的代理地址,注意ProxyHandler()的参数必须是字典类型
# build_opener()创建一个实例句柄
# 使用这个句柄通过open方法访问目标网址
# 为了便于知道哪些代理地址不能用,这里我抛出了两个已知异常,并输出异常代理地址
# 最后打印出发生异常的个数
try:
proxy_handler = urllib2.ProxyHandler({'http':'http://'+line})
opener = urllib2.build_opener(proxy_handler)
opener.open('http://hi.baidu.com/sruingking/blog/item/f77d04dec3345a5394ee3794.html')
except urllib2.URLError:
print 'URLError! The bad proxy is %s' % line
errortype()
except urllib2.HTTPError:
print 'HTTPError! The bad proxy is %s' % line
errortype()
except:
print 'Unknown Error! The bad proxy is %s' % line
errortype()
f_proxy.close()
f_log.write('There are '+str(num_Error)+' Errors''\n')
f_log.close()
print '%d Errors' % num_Error
郑重声明:此程序本人原创,只在本人blogger、百度博客、QQ空间和电脑爱好者官方论坛编程版发布,除此之外未经本人授权散布者均为侵权 ,本人保留诉讼权
授权链接: http://sruing.blogspot.com
http://hi.baidu.com/sruingking
http://bbs.cfan.com.cn/thread-840294-1-1.html
没有评论:
发表评论