通过爬虫迁移CSDN博客

最早是在CSDN上写博客的,可是渐渐发现CSDN写博客有诸多限制,而且CSDN博客时不时会挂掉,因此后面用Hexo在github上搭了一个新博客,也就是现在这个。然而这样一来很多文章就留在CSDN上,而在新博客上找不到了。

因此前几天用Java写了一个爬虫,把CSDN上的博客内容爬了下来,并解析成markdown格式存储在本地,这样就可以方便的迁移到新的博客了。

1、效果

旧博客地址 新博客地址

1.1、旧博客目录

旧博客目录

1.2、旧博客文章

旧博客文章

1.3、新博客目录

新博客目录

1.4、新博客文章

新博客文章

2、需求分析

CSDN博客迁移,把CSDN博客上的内容爬取下来,存为本地的md文件,方便部署到hexo。

具体需求如下:

    1. 博文内容要转换成MarkDown源码格式存储。
    1. 支持CSDN博客内容是MarkDown渲染或者非MarkDown渲染的。
    1. 除了文章正文,其他信息(如标题、发布时间、分类、标签、是否转载等)也要保存下来。
    1. 生成文章描述。

3、实现思路

  • 用爬虫把需要的内容爬取下来
  • 然后解析相应的内容
  • 存储在本地
  • 发布在新博客

4、如何使用

  • 下载jar包 点击下载
  • 执行命令
    java -jar csdn-blog-migration-crawler.jar 博客地址 本地存储路径
    如,
    java -jar csdn-blog-migration-crawler.jar timberwolf_2012 /Users/chenzz/Desktop/blog/

5、项目主页

进入项目主页

/** * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS. * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/ /* var disqus_config = function () { this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable }; */ (function() { // DON'T EDIT BELOW THIS LINE var d = document, s = d.createElement('script'); s.src = 'https://chenzz.disqus.com/embed.js'; s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s); })();