2009年2月12日星期四

更新下代码

其实就是加了个把发生的错误地址写进文件的功能 可以多刷几次 如果几次错误地址都一样基本就可以确定那个地址不能用了

# 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

没有评论:

发表评论