热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

建立程序设计知识库博客下载工具

我们都心知肚明,互联网不是每天都为我们开放着。一个好站点,由于各种原因,很容易就从我们的视野中消失。为此,分享一下我是如何搜集优秀的博客文章,如何加工整理,消化。经常写程序,需要经常查阅

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

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

 

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

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文件。

希望可以帮助到你。


推荐阅读
  • 在使用USB接口的二维条码扫描器时,发现其无法正确识别条码中的中文字符。然而,采用串口连接的方式则能够成功识别。目前面临的问题是如何将通过串口获取的数据在网页中进行实时展示,希望各位专家能提供解决方案,不胜感激。 ... [详细]
  • 提升视觉效果:Unity3D中的HDR与Bloom技术(高动态范围成像与光线散射)
    提升视觉效果:Unity3D中的HDR与Bloom技术(高动态范围成像与光线散射) ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文探讨了如何通过编程手段在Linux系统中禁用硬件预取功能。基于Intel® Core™微架构的应用性能优化需求,文章详细介绍了相关配置方法和代码实现,旨在帮助开发人员有效控制硬件预取行为,提升应用程序的运行效率。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本文详细介绍了如何利用CSS技术对链接下划线进行个性化定制和美化,涵盖了多种实用技巧和方法。通过对CSS属性的灵活运用,可以实现不同风格的下划线效果,提升网页的视觉体验。文中不仅提供了基础的代码示例,还结合实际案例进行了深入解析,帮助读者更好地理解和应用这些技巧。此外,文章还引用了《CSS2.0中文手册》中的相关内容,增加了技术的权威性和实用性。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
author-avatar
朵儿lp_685
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有