开发者社区> 嗯哼9925> 正文

博客园博客下载工具,可以主动搜索某人的blog,并以MHTML格式保存到本地文件夹脱机浏览。

简介:
+关注继续查看

1:输入某人的BLOG,例如http://www.cnblogs.com/JeffreyZhao/

2:任意打开一篇博客文章,例如:http://www.cnblogs.com/JeffreyZhao/archive/2010/03/21/async-and-parallel-design-patterns-in-fsharp-3-more-agents.html

3:我们看到了博客文章的url格式大致是,http://www.cnblogs.com/JeffreyZhao/+%22archive"+年+月+日+文章标题+".html"

4:OK,我们输入http://www.cnblogs.com/JeffreyZhao/archive/2010/03.html。发现显示的是随笔档案 - 2010年3月。这就意味着我们可以通过更改年月来得到相应的年月的随笔档案。

5:我们从2005年01月一直搜索到2010年12月.构造我们需要搜索的地址列表。储存到httpCategoryUrls这样的List<string>.

代码

 6:逐个解析我们的httpCategoryUrls里面的url,采用foreach进行遍历。

 

代码

 

其中随便找了个网上的spider组件,可以解析html得到html中的所有链接信息。

因为我们知道文章的url中包含"archive",并且url以.html结尾,

为了防止http://www.cnblogs.com/JeffreyZhao/archive/2010/03.html,这样的连接,我做了Length检查。

通过上述基本的几个步骤大致可以得到某人某年某月的随笔档案。全部保存到httpArticleUrls的List<string>中。

 

7:已经得到了某人的从2005年到2010年之间的所有文章了,剩下的就是发送Http请求去获取数据,然后本地保存了。

保存采用的是CDOMessage这样的类,该类可以生成MHTML格式的文档。代码如下:

 

 

代码

 

 文章的以文章的标题为名字进行保存。如果文章的名称中包含非法的字符,进行替换。

CDO.CdoMHTMLFlags.cdoSuppressNone:代表不进行压缩。这样图片可以嵌入其中。

 

8:大致功能已经实现,但是代码还有很多地方可以优化的,名称命名等都可以进行修改下,速度,效率啊目前都还没考虑,没有自动下载附件的功能,需要的话其实也挺简单的,得到所有文章中的压缩文件,通过WebClient.DownLoadFile方法下载等。

9:附件下载:BlogDownLoader.rar






本文转自LoveJenny博客园博客,原文链接:http://www.cnblogs.com/LoveJenny/archive/2010/03/31/1701740.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
49 0
Nginx配置下载附件让浏览器提示用户是否保存
Nginx配置下载附件让浏览器提示用户是否保存
20 0
Discuz!论坛如何去除隐藏文章内容图片鼠标经过时显示“下载附件”等信息解决方法本文来自:XM技术学习分享,原地址:http://xmwl.cc/mb/41.html
在discuz!系统中发帖上传图片,鼠标经过的时候会显示一个小菜单,显示图片的基本信息和下载链接,有些站长觉得每次鼠标经过的时候弹出这个体验不好希望去掉!本文来自:XM技术学习分享,原地址:http://xmwl.cc/mb/41.html
311 0
python实现电子邮件附件指定时间段,批量下载以及C#小程序集成实现(一)
根据网上相关资料,使用python实现邮箱附件批量下载,然后打包生成exe后,虽是脱离了python环境便于她使用,可对于她们这些没有接触编程的人员来说,cmd命令行调用exe的操作不便于理解和操作。为此,界面化程序开发选择了C#,从而实现了C#调用python开发的exe来完成邮箱附件批量下载功能。
128 0
python实现电子邮件附件指定时间段,批量下载以及C#小程序集成实现(二)
根据网上相关资料,使用python实现邮箱附件批量下载,然后打包生成exe后,虽是脱离了python环境便于她使用,可对于她们这些没有接触编程的人员来说,cmd命令行调用exe的操作不便于理解和操作。为此,界面化程序开发选择了C#,从而实现了C#调用python开发的exe来完成邮箱附件批量下载功能。
138 0
【优化】C#小程序集成实现python定时段批量下载电子邮箱附件的bug排除
【优化】C#小程序集成实现python定时段批量下载电子邮箱附件的bug排除
35 0
Redmine系统通过bug号解析页面内容及下载附件
Redmine系统通过bug号解析页面内容及下载附件
42 0
解决csdn网页离线后打开自动跳转并批量处理下载的所有csdn文件
解决csdn网页离线后打开自动跳转并批量处理下载的所有csdn文件
190 0
网站打开被提示该内容被禁止访问的原因分析
最近手机短信和邮箱总是收到阿里云的违规URL通知,意思是网站存在违规URL地址,导致被短信或邮箱通知,关键问题是天天给我发这个通知,实在太烦了,集团网站的领导打电话让我抓紧处理,我可马虎不得就抓紧登录阿里云查看下具体的通知内容,显示如下:
444 0
打开网站提示“该内容被禁止访问”该怎么处理
很多客户的网站被拦截并提示:“该内容被禁止访问”,大多数客户使用的都是阿里云的虚拟主机以及ECS服务器,最近发生这种问题的网站也越来越多,这几天刚解决完一个客户网站被阿里云:违规URL屏蔽访问处理通知并拦截,经过朋友介绍找到我们SINE安全公司。
221 0
Confluence 6 附件是如何被索引的
当一个文件被上传到 Confluence 后,Confluence 将会尝试对文件进行解压,然后对文件中的内容进行索引。这样系统就能够允许用户对文件中的内容进行搜索,而不仅仅是搜索文件名。
913 0
Confluence 6 如何查看页面中的所有附件列表
在某一个页面中,单击右上角分享边上的 ... 展开更多选项,然后选择附件。 显示附件页面的导航,并且告诉你现在这个页面中已经有多少附件了。
1345 0
+关注
嗯哼9925
文章
问答
视频
相关电子书
更多
附件下载测试
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载