苦于CSDN上的写了那么多的博客,现在阵地全面转换到了我的GitHub pages上,没有找到好的解决方案,因为有的博客是md格式的,有的之前还不会markdown的时候发表的,md格式的还好说,查到了csdn有开放API下载md格式文件,但是非md格式的没法吹处理,最后想到了用python爬虫的放下,直接爬取我的博客。具体项目见BlogMigration

步骤

1. 获取文章

首先用http://blog.csdn.net/jiajiezhuo/article/list/page接口爬取所有页面的文章(文章分页显示),即可获得所有的文章id。

2. md博客

根据文章的id,使用http://write.blog.csdn.net/mdeditor/getArticle接口即可获取,格式即为md格式。

3. 非md博客

这个就比较麻烦了,需要使用chrome调试工具,进行文章编辑页面,一个一个地审查元素,找到对应的标签之后,使用相应的URLhttp://mp.blog.csdn.net/postedit/article_id,利用BeautifulSoup进行抓取元素,转换成md格式文件。

扩展

当然不满足于仅仅获取所有的文章,目的是进行博客迁移,获取了博客自然还要发表到gp上,于是自动化脚本的思路油然而生。

1. 博客分类

在爬取博客的过程中,找到了categories标签,提取文章的分类。进行中英文替换,全部统一为英文分类。

2. 创建分页

我的gp博客设置了文章分类,需要根据博客分类,创建相应的分类子页面,生成对应的html页面即可。

3. 博客生成

根据文章的名称和分类,自动创建gp博客,同时还写了一个一键生成博客的脚本,以后写博客,都可以自动创建了。注:创建博客使用Fire命令行工具(现在基本能够脱离图形化的方式工作了)。

感谢BeautifulSoup