我们都心知肚明,互联网不是每天都为我们开放着。一个好站点,由于各种原因,很容易就从我们的视野中消失。

为此,分享一下我是如何搜集优秀的博客文章,如何加工整理,消化。

 

经常写程序,需要经常查阅一些编程文档。一般编程知识的来源有以下几个途径

MSDN

MSDN是一个很优秀的知识库,这个离线版的MSDN几乎包含了所有与微软开发相关的主题。

clip_image002

 

优秀的博客站点

如果是做.NET开发,推荐的博客有以下几个

博客园 cnblogs.com

点部落 http://www.dotblogs.com.tw/(台湾)

codeproject.com

经常在博客园看文章,或是关于技术方面的总结,或是某个系列的专题,比如Linq,EF,NHibernate. 看完之后,总想一子下把他们存到硬盘中,怕下次又找不到。比如最近经常收到博客园的电子期刊,就有一种全部下载下来,做成doc或是pdf的冲动。

基本的方式,一篇篇的打开网页,另存为html文件,过程繁琐,而且有些网页会提示无法保存。

先看工具的用法。这个工具是我设计的,稍后会放出下载的地址(epn.codeplex.com)

启动BDS程序,点菜单中的New或是工具栏中的New按钮,界面如下

clip_image004

其实,博客就是html网页,把它存到本地的方式,也就是保存网页的方式。在这里我规定了三种下载方式

1 Id 如果你看到谁的Linq系列写的很好,或是EF的教程很详细,你想一下子把它的所有博客日志都下载到本地,就应该选这种方式。它会根据你输入的博客帐号,分析该博主的所有随笔,然后逐个下载到本地。

来看一下效果

在上面的界面中,选择Blog组中的Id,打开窗口如下

clip_image006

从窗口的名字中可以看出,它是为了下载某个博主的所有随笔内容。

在这里我做了用了个小技巧。我将经常关注的博主存放到一个文本文件中,上面的Download Blog By UserId启动时,会去找Id.txt这个文件,加载到主窗口中,这样省去了为次要敲博主的Id的时间。

clip_image008

Output Path就是要保存的html文件的路径,所下载的文章全部保存在这个路径下。

它会用博主的Id建立一个子目录,然后把它的文章放到这个路径下面,以防止重复。

 

如下图所示,Foundation写了一系列非常优秀的工作流的文章,我就迫不急待的把它保存下来了。

clip_image012

再来看url的写法,细心的朋友可能已经发现了,有两种类型的url

http://www.cnblogs.com/lyj/

-http://www.cnblogs.com/peterzb/

第一个是标准的路径名称,第二个路径前面有带-。这个小技巧会告诉程序,暂时跳过peterzb的博客,不用分析和下载。这种情况多半发生在,该博主最近没有更新博客,没有必要下载。

 

2 Url 有时候我们看到一些好的地址连接。比如有的博主会提供一些MSDN或是CodeProject中的相似的文章的连接,

这时,我只需要下载这些连接的文章,就可以使用这种方式

clip_image014

打开窗口的效果同上,它会直接去下载指定连接的网页文件。

这种方式,可以应用到博客园的电子期刊。电子期刊会很详细的列出优秀博客文章的名称和地址,我们要做的就是,把地址拷贝到这里,然后开始下载。下载方式与前面的相同,

仍然是保存为mht文件。

mht文件会包含图片,评论,是最完整的格式。

也考虑过,将下载的mht文件直接转成doc或是pdf文件。这不难,只是一句API调用就可以,很容易。

 

3  Text 文本 这种方式,提供从一段html片段文本中下载网页连接的能力。有时候我们发现整理url很麻烦。比如博客园的电子期刊,你需要用文本编辑器打开它的html源代码,逐个的找出文章的url,整理到一起,这样做起来有些麻烦,不方便。于是,我就想到这种方式,你要干的活,就是右键,查看网页源代码,然后把这个html的片段copy到这里,

分析程序会先提取这一段文本的所有html连接,再逐个下载。

clip_image016

打开程序跑了半个小时,在我的电脑里面,就存了1G多的博客文章。在上网不方便或是网速很慢的情况下,这些知识库的文章,将是重要的参考资料,也是思考的来源。

因为这些博客资料和文章都是有版权的,不推荐整理成PDF供下载,适合于留着自己学习,深入的学习。

clip_image018

接下来的步骤就是用Lucene.NET给这些文章建立索引,以快速的方式来检索内容。这又是另一个主题,暂且不表。

 

论坛

论坛也是编程知识和经验的来源地,对优秀的thread,我们仍然可以考虑把它下载到本地,整理成PDF或DOC。

暂时没有这个功能的可用模块,当看到很好的主题,有保存整个论坛冲动的时候,再来做这个程序。

原理也是一样的,保存为本地mht文件。

希望可以帮助到你。

作者: James Li 发表于 2011-06-24 09:00 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"