当前位置:   article > 正文

网络蜘蛛-搜狐博客批量下载(之一)

网络蜘蛛-搜狐博客批量下载(之一)

网上的鸟备份工具居然要收费,还是自己写吧。只针对sohu博客,其余博客类推,主要是分析博客链接组织和内容结构。


今天先针对单个博客来做点试验,以获取一篇URL已知的博客正文为目标:


直接上代码:

  1. import urllib2,cookielib
  2. import re
  3. class HTTPRefererProcessor(urllib2.BaseHandler):
  4. def __init__(self):
  5. self.referer = None
  6. def http_request(self, request):
  7. if ((self.referer is not None) and
  8. not request.has_header("Referer")):
  9. request.add_unredirected_header("Referer", self.referer)
  10. return request
  11. def http_response(self, request, response):
  12. self.referer = response.geturl()
  13. return response
  14. https_request = http_request
  15. https_response = http_response
  16. cj = cookielib.CookieJar()
  17. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj), HTTPRefererProcessor(),)
  18. urllib2.install_opener(opener)
  19. request = urllib2.Request(
  20. url = 'http://raywill.blog.sohu.com/179914899.html')
  21. ret = opener.open(request)
  22. content = ret.read()
  23. #print content
  24. p = re.compile('<div class="item-content" id="main-content">([\s\S]*?)\<\!\-\-')
  25. m = p.search(content)
  26. print m.group(1)


得到的结果:

  1. <div style="line-height:160%;font-size:14px;"><p>    夏日正盛,宅的好时节。纵然是夏天,宅久了,日子也会发霉。脱宅计划酝酿中。</p><p>    月末,盼到发工资了,因为本月大部分日子还是实习生身份,所以工资少得可怜。工资少不是宅的理由!脱宅利器:相机,单车。二缺一,遂决定入单车一辆。</p><p>    上午喝了碗数学家泡的粥出门,12点到计算所。高温假了,所里没几个人。10楼的工位排列突然变得十分坑爹,真是密不透风。郭,康师傅,我,先陪小熊去村子里买了手机。发现电脑城面貌焕然一新,开始步入文明社会:再也没有了拉客现象了,也没有一听就是骗子状的吆喝声了。这还真有点不适应,哈哈~很赞。早就该这样了,再不管,电脑城就要沦落了。</p><p>    哼哧哼哧到下午四点,困得要死。四人先回所里,歇息片刻,我,郭,康师傅就出发去科苑公寓边上的“远行美”买车了。我也不懂车,都仰仗郭给意见,很快选定Merida的勇士550款。提车装车大概40min,试车讨价还价10min,带锁带套一起1500,给钱走人。郭吃肉去了,剩下我和康师傅,直接骑车一路向南,他回家,我去找Buou吃菜香根。北风那个吹,屁股那个疼!大约50min到一号线,和康师傅分道扬镳,我继续向南。不到10min就到了菜香根。</p><p>    美食,且不表。</p><p>    吃完继续骑行。先上长安街。有自行车道,且十分宽阔,稀饭!一路向东,经过西单,真理部,天安门,国防部,商务部,王府井,国贸。到了新光天地开始朝北转,离家 很近了。10点,历经70分钟,20km,顺利到家。</p><p>    菊花残。</p><p>    喝茶,洗澡,写博客,睡觉。</p><p>    </p><p>    </p><p>    </p></div>


以上通过python 2.7.2编译通过,python 3.x可能不行,请读者注意。

SOHU博客的tag可能会变化,唯一的办法就是随时follow咯。当然,如果写得更智能的话,可以采取自学习的方式:抓取多篇博客,自动分析他们的异同,然后找出pattern出来。这里所谓pattern,就是正文模板的开始和结束标示符。


下一篇将分析如何得到搜狐博客的所有文章的URL,

再下一篇将会将二者集成起来,并处理一些异常情况。


作者邮箱: hustos (a) qq.com

作者微博: weibo.com/raywill2


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/895773
推荐阅读
相关标签
  

闽ICP备14008679号