EasyText, EasyLicense 的作者, https://github.com/EasyHelper Good Good Study,Day Day Up.

 

私人工具分享:博客下载工具

我曾经写过一个博客下载工具:

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

 

在这篇文章里面,我写了如何制作一个下载工具的思路,但是我没有讲我为什么要写这样一个下载工具:

很简单:公司不允许上外网

 

工具的不足:

上面的那个工具有一点不足,它只能搜索博客园的某个名人的博客文章,但是有时候我想要搜索的可能是某个关键字,比如当我需要silverlight的资料的时候,我可能会将我知道的几个博客中搜到的silverlight的文章全部下过来,比如msdn,codeproject,stackoverflow,博客园。。

 

解决方案:

可以自动构造搜索的字符串,然后对要下载的链接进行正则匹配。

如下图所示:

image

在这里我想在博客园中下载silverlight的资料,大概是1到500页之间的博客,搜索到的文章必须匹配到正则。

点击生成Url就会生成如下图的Url:

image

 

有了这些Url,自然就需要东西来下载了,

于是我写了一个Client来将Url保存成mhtml文件,这个在我以前的文章中可以找到保存成mhtml的原理。

但是这个使用这种方案有一个我无法解决的问题,那就是保存成mhtml的时候,有时候微软的组件会抛出异常,这个异常无法捕捉,它直接会导致程序退出,我曾经尝试过创建应用程序域来保存mhtml,但是依然会导致整个程序退出,所以我写了一个server来监视client,如果client退出的话,server就重启client,

image

 

在这里选择了包含下载路径的download.txt,点击开启跟踪就会自动下载了,client是后台运行的。

image

 

上面演示了如何从博客园下载关于silverlight的文章。

下面是msdn的:

image

image

 

下面是CodeProject的:

image

image

 

完整的源代码如下:BlogDownLoader.rar

 

这个工具是一年前写的,时间比较仓促,代码命名是不推荐的,尚未进行代码重构,希望大家对代码本身的质量不要太过执着。

posted @   LoveJenny  阅读(5618)  评论(10编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
EasyText, EasyLicense 的作者, https://github.com/EasyHelper Good Good Study,Day Day Up.

 

点击右上角即可分享
微信分享提示