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

CSDN博文下载器(JAVA)

自己用JAVA做的CSDN博文下载器,提供jar包和源码。源码也公开吧,反正jar反编译也能得到源码,新手不会jar加密。考虑到上课的时候看博客不方便,想把好的博客

自己用JAVA做的CSDN博文下载器,提供jar包和源码。

源码也公开吧,反正jar反编译也能得到源码,新手不会jar加密。


资源csdn在审核吧...好慢


考虑到上课的时候看博客不方便,想把好的博客全部下载下来,在手机上看。

各种百度,找到了几个工具。

1.http://blog.csdn.net/gzshun/article/details/7555525

大神写了思路和教程,用他的工具发现的问题:

(1)下载不完全,测试只能下载第一页的21篇文章左右。

(2)生成的pdf看着还行,代码部分有的超出pdf页面范围,导致看不到,不方便

2.http://www.cr173.com/soft/48129.html

这个大神写的通用博客导出工具,好像接口有变化,失效了,导出不了。


我就在琢磨自己写个程序出来。

好了,有了http://blog.csdn.net/gzshun/article/category/932960 前辈的思路。

扩展了一下,自己的思路:

(1)电脑版改为手机版

个人感觉手机版csdn更精简,处理起来肯定方便,链接是http://m.blog.csdn.net/blog,后面加用户名就是该用户的博客了,这里要区别用户名和自定义域名,电脑版的博客链接一般是自定义域名,例如:我的电脑版csdn博客自定义域名是:noaboutfengyue,我的用户名是:oWuGuanFengYue123,电脑版中http://blog.csdn.net/加这两个都可以跳转到博客,但是在手机版中只能访问 http://m.blog.csdn.net/blog/oWuGuanFengYue123打开博客。

为了使用方便,程序只需读入自定义域名就能下载,所以,增加个方法,功能是通过域名获得用户名,实现很简单,打开http://blog.csdn.net/noaboutfengyue,源码中就有oWuGuanFengYue123用户名,通过正则表达式解析就Ok。

(2)采用ITEXT从html生产pdf

在http://blog.csdn.net/noaboutfengyue/article/details/45174787中已经说明

(3)获取所有文章列表

经测试发现http://m.blog.csdn.net/blog/oWuGuanFengYue123?page= 这个page是文章页数,当这个数字很大时,大过文章页数,取个极限,99999,http://m.blog.csdn.net/blog/oWuGuanFengYue123?page=999999,显示的就是所有文章

(4)文章列表的获取和文章内容的解析

在(3)中获取的页面,通过正则表达式,解析出所有文章标题和url,然后通过这个url得到html源码,由于使用IText,对html源码的格式要求很严,所以这里要进行预处理(这里做的有点不完善),比如
报错,必须改成
,还有一些,然后直接转换成pdf输出。

(5)增加序号

为了使生成出来的pdf有序,按照作者第一篇博文开始编号。生成出来的文件名是  1.标题.pdf


思路大概就这些,细节方面有些要处理。

使用说明:

下载目录在当前程序目录/csdn/用户名


演示一下吧。

用http://m.blog.csdn.net/blog/lmj623565791 这个老师的来演示,博客写得很好。

技术分享


处理过程显示:

技术分享

还是有些地方处理的不完善,大致上处理还不错,能生成大部分pdf。

结果:

技术分享


就这样了,哈哈,世界清净了。

不说了,我去下载好的博客去了,上课了去看。


复制去Google翻译翻译结果

CSDN博文下载器(JAVA)


推荐阅读
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • 安全3AAuthentication:认证Authorzation:授权Accouting|Audition:审计用户管理用户:UID:0,不一定是root,root的uid非0时 ... [详细]
  • 关键词:LinuxJDKJRE解决JRE中文乱码解决FireFox不支持appletl 安装JDK1、  安装jdkroot用户进入jdk安装文件所在目录,键入chmoda+xjd ... [详细]
  • JNI技术实践小结转自http:sett ... [详细]
  • Java工作流引擎关于数据加密流程(MD5数据加密防篡改)
    关键字:驰骋工作流程快速开发平台工作流程管理系统工作流引擎asp.net工作流引擎java工作流引擎.开发者表单拖拽式表单工作流系统流程数据加密md5数据保密流程数据防篡改软加密适 ... [详细]
  • JS加密解密
    leta=汪政..222RRRp767868^*%^*%344h哈哈;letb=udp.d(ud(a));//需要加密的内容letc=udp. ... [详细]
  • 1、Everything:速度最快最好用的文件搜索工具,可以基于文件名极速搜索、瞬间定位文件,所有匹配的文件或文件夹都会实时显示,Windows7之后为减少硬盘占用,在关闭索引功能后不能得到“即搜既 ... [详细]
  • php开发属于哪个类别(php类和对象的区别)
    导读:本篇文章编程笔记来给大家介绍有关php开发属于哪个类别的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、php属于什 ... [详细]
  • re正则表达式1.什么是正则?正则就是用一系列具有特殊含义的字符组成的规则,该规则用来描述具有某一特征的字符串。正则就是用来在一个大的字符串匹配出符合规则的子字符串2.为什么用正则 ... [详细]
  • 安全等于运算符()这个操作符和操作符执行相同的比较操作,不过可以用来判断NULL值。在两个操作数均为NULL时,其返回值为1而不为NULL;而当一个操作数为NULL时,其返回 ... [详细]
  • 章作者:luxianghao文章来源:http:www.cnblogs.comluxianghaop6807081.html 转载请注明,谢谢合作。免责声明:文章内容仅代表个人观点 ... [详细]
  • 将android-support-multidex.jar放到libs下然后编译,出现如下错误:Error:Executionfailedfortask':app:pack ... [详细]
  • vue使用
    关键词: ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 和数|这一点_5 个让日常编码更简单的 Python 库
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了5个让日常编码更简单的Python库相关的知识,希望对你有一定的参考价值。今天我们一起来研究一些非常有用的第三方模 ... [详细]
author-avatar
讨厌上学的-彭志超-_354
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有