Python通过HTTP协议定期抓取文件

可以扩充成为简单的抓取工具,定时抓取


# !usr/bin/python

import  urllib2,time;
class  ErrorHandler(urllib2.HTTPDefaultErrorHandler):
    
def  http_error_default(self, req, fp, code, msg, headers):
        result 
=  urllib2.HTTPError(req.get_full_url(), code, msg, headers, fp)
        result.status 
=  code
        
return  result

URL
= ' http://www.ibm.com/developerworks/js/ajax1.js '
req
= urllib2.Request(URL)
mgr
= urllib2.build_opener(ErrorHandler())

while  True:
    ns
= mgr.open(req)
    
if (ns.headers.has_key( ' last-modified ' )):
        modified
= ns.headers.get( ' last-modified ' )
    
if (ns.code == 304 ):
        
print   '''
          ==============================
              NOT MODIFIED
          ==============================
        
'''
    
elif (ns.code == 200 ):
        
print  ns.read()
    
else :
        
print   ' there is an error ' ;
        
    
if ( not  locals().has_key( ' modified ' )):
        modified
= time.time();
    req.add_header(
' If-Modified-Since ' ,modified)
    time.sleep(
10 )
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值