十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。
【转】使用python爬虫抓站的一些技巧总结:进阶篇
上一篇 /
下一篇 2011-04-06 23:43:03
/ 个人分类:python
以前写过一篇使用
python爬虫抓站的一些技巧总结,总结了诸多爬虫使用的方法;那篇东东现在看来还是挺有用的,但是当时很菜(现在也菜,但是比那时进步了不少),很多东西都不是很优,属于”只是能用”这么个层次。这篇进阶篇打算把“能用”提升到“用得省事省心”这个层次。
51Testing软件测试网Yn'S4}Xgx一、gzip/deflate支持
%Ynqu'r06kV5`f[zVs6RE0现在的网页普遍支持gzip压缩,这往往可以解决大量传输时间,以VeryCD的主页为例,未压缩版本247K,压缩了以后45K,为原来的1/5。这就意味着抓取速度会快5倍。
nj-^9N/?j051Testing软件测试网j9r0gB"L3u然而python的urllib/urllib2默认都不支持压缩,要返回压缩格式,必须在request的header里面写明’accept- encoding’,然后读取response后更要检查header查看是否有’content-encoding’一项来判断是否需要解码,很繁琐琐碎。如何让urllib2自动支持gzip, defalte呢?
k4B5o&]:|Nv|051Testing软件测试网ev
})e
|MI1bv其实可以继承BaseHanlder类,然后build_opener的方式来处理: