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

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

直接上代码:

import urllib2,cookielib
import reclass HTTPRefererProcessor(urllib2.BaseHandler):def __init__(self):self.referer = None def http_request(self, request):if ((self.referer is not None) andnot request.has_header("Referer")):request.add_unredirected_header("Referer", self.referer)return request def http_response(self, request, response):self.referer = response.geturl()return response https_request = http_requesthttps_response = http_response cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj), HTTPRefererProcessor(),)urllib2.install_opener(opener) request = urllib2.Request(url     = 'http://raywill.blog.sohu.com/179914899.html')ret = opener.open(request)
content = ret.read()
#print content
p = re.compile('<div class="item-content" id="main-content">([\s\S]*?)\<\!\-\-')
m = p.search(content)
print m.group(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

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

  1. 搜狐博客悄悄停止运营

    我是卢松松,点点上面的头像,欢迎关注我哦! 今天卢松松发现搜狐博客已经悄悄停止运营. 具体表现形式为:大部分博客只能自己看,或者出现"504网页超时"或"502服务器无响 ...

  2. 王晓阳的搜狐博客被封了

    我个人很喜欢的一个博客,今天去看时,发现已没有了.百度了一下(也只好百度一下,没办法Google了),在凤凰网找到了. http://blog.ifeng.com/2365959.html 里面的一些 ...

  3. 如何使用免安装的mysql-孤单的小孩儿-搜狐博客

    http://www.360doc.com/content/12/0108/23/1369263_178199446.shtml 2008-07-03 18:22 我以mysql-noinstall- ...

  4. 如何设置XP操作系统自动登录-原动力-搜狐博客

    导读: 如何设置XP操作系统自动登录   下面介绍两种方法.   方法一:通过注册表设置.  在进入Windows XP桌面之前,通常每次都会出现一个用脑登录界面,要求我们输入用户名与密码,可以加大了 ...

  5. 二项分布的泊松逼近matlab,学生实习报告【2】(李致宇):利用泊松分布近似二项分布-李英冰的个人主页-搜狐博客...

    %第一次对比%(p=0.005;n=10000;lambda=n*p=50) X=0:100; p=0.005; n=10000; lambda=n*p; output_p=num2str(p); o ...

  6. oracle+10g+ins_sysman.mk,Rhel5.4_64 上安装oracle 10g_64(经过实测)--Linux爱好者-搜狐博客...

    3.以下修改内核参数等文件,已保证Oracle的预安装准备成功.执行如下: vi /etc/sysctl.conf     行末添加以下内容 # 20091208 add content for or ...

  7. 开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

    开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享 一.优秀的流媒体博客资源 1.1 EasyNVR:专注于安防视频互联网化的技术 1 ...

  8. 博客 学院 下载 更多 zxy18210943475 java 和 、|| 和 | 的区别和作用

    博客 学院 下载 更多 zxy18210943475 java && 和 &.|| 和 | 的区别和作用 原创  2016年12月15日 23:58:22 标签: java 6 ...

  9. 博客 学院 下载 GitChat 论坛 问答 商城 头条 活动 码云 ITeye 写博客

    博客 学院 下载 GitChat 论坛 问答 商城 头条 活动 码云 ITeye 写博客 发Chat 登录注册 常见8种算法总结 转载 2017年03月16日 22:23:43 目录 冒泡排序 鸡尾酒 ...

最新文章

  1. R语言dplyr包mutate_if函数修改所有满足条件的数据列的内容实战
  2. SpringBoot之使用RabbitMQ实现延迟队列
  3. C#中将表示颜色的string转换成Color
  4. C标准中一些预定义的宏,如__FILE__,__func__等
  5. JAVA取模(取余)公式
  6. OrganicsDelivery总结
  7. Hive安装与配置MySQL元数据库
  8. Flash与.NET的通信(三):LoadVars对象的应用
  9. 基础编程题目集 6-1 简单输出整数 (10 分)
  10. 感谢Karen--oracle的system密码忘记修改办法|附sqlplus /nolog|
  11. 区块链第三方支付已登陆菲律宾
  12. 菜鸟学Linux 第079篇笔记 mysql备份lvm
  13. WPS文档目录更新产生的问题记录
  14. docker、containerd、runc、shim... 容器技术名词全解析
  15. 大连新知源09年3月RHCE考试通过率90.9% —— 注重能力培养
  16. labview自动保存报表_Labview如何快速保存数据到Excel
  17. 大白话说网络(网络知识学习)
  18. 为Python程序添加桌面快捷方式
  19. UI设计图的标注工具大比拼
  20. 11月小报|读小报,涨知识

热门文章

  1. 9S12汇编指令【HCS12】
  2. AI 收藏夹 Vol.002:被 AI 阻止的又一次自杀
  3. 【Android进阶】9、用 ViewHolder 和 Adapter 显示 RecyclerView 列表
  4. i9 12900k和r9 5900x哪个好
  5. SIMATIC Net功能介绍 OPC搭建 OPC CLIENT客户端,WINCC IFIX 西门子通讯
  6. 和平精英怎么在服务器维护中登录,和平精英登录过于频繁怎么办 和平精英登录过于频繁解决方法...
  7. 在线直播php源码,PHP写在线视频直播技术详解
  8. 学习unity从一个小白到一名游戏开发高手
  9. 3种人民币RMB符号的写法
  10. 丰田合成将投资于中国中部的汽车零部件制造商