我的上一篇文章讲到有扫描备份文件
看上去挺简单但是实现起来有点小复杂 = =
requests 会自动下载文件 urllib2 发现忘了重定向问题
于是加入了关于urllib2的跳转处理
例子
加入a的url是存在合法的 b的url备份不存在,但是b网站对不存在异常的url请求会自动跳转
于是阅读了urllib2的帮助文档后重写了一下
# coding = utf-8
import urllib2
a = 'http://www.123.com/1.rar'
b = 'http://www.456.comzj.rar'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102Safari/537.36'}
class RedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_301(self, req, fp, code, msg, headers):
pass
def http_error_302(self, req, fp, code, msg, headers):
pass
try:
opener = urllib2.build_opener(RedirectHandler)
response = urllib2.Request(url=b,headers=headers)
req = opener.open(response)
print req.code
if req.code == 200:
print '200'
metarar = req.info()
sizerar = str(metarar.getheaders("Content-Length")[0])
print sizerar
else:
print '302'
except:
print '8888'
代码能实现对于网站的备份扫描,准确率还不错
采集了三千左右url进行测试
结果还不错,而且我用的是简洁版的字典,如果调整优化下字典或许能扫出来更多呢