作者:gzshun. 原创作品,转载请标明出处!
来源:http://blog.csdn.net/gzshun

本博文需要声明几点:
1.blogspider_v1.0源码已经更新,文件名为"blogspider_v2.0.tar.bz2",下载地址在下文。
2.该备份工具用其他语言(比如Java,PHP)可能比较简单,但本人只会C/C++。
3.blogspider_v1.0源码报错,原因是:CSDN博客的HTML文件修改。我需要说明的是:请大家不要将该程序应用于非法用途,以免造成CSDN网站服务器的负载,请遵循"备份CSDN博客"原则。可能CSDN技术人员发现该程序是直接解析HTML文件,所以修改HTML文件避免该程序的运行(猜想)。

前段时间比较忙,没时间回复大家的评论与邮件,在这里感谢各位同志的支持。一些哥们儿建议将blogspider源码上传到CSDN的下载频道,正好今天有空,再把该系列文章做个总结,给大家提供blogspider下载地址。

前面已经写了几篇文章,需要的马上跳转:

《自己动手编写CSDN博客备份工具-blogspider》

《自己动手编写CSDN博客备份工具-blogspider之源码分析(1)》

《自己动手编写CSDN博客备份工具-blogspider之源码分析(2)》

《自己动手编写CSDN博客备份工具-blogspider之源码分析(3)》


一.blogspider程序提示"Segmentation fault"错误

最近blogspider程序会出现段错误,提示"Segmentation fault"错误。刚才我调试了一下,程序本身没有问题,原因是CSDN博客的HTML文件的格式发生变化,所以strstr函数出错。本程序原来是直接分析HTML文件来获取博客信息,所以blogspider存在这个局限性,我已经修改最新的HTML文件的解析函数,出错在analyse_index函数中。
以下是diff命令的结果:

--- blogspider_src.c 2012-01-16 01:12:15.657184878 +0800
+++ blogspider_update.c  2012-01-16 01:09:19.629534441 +0800
@@ -570,6 +570,7 @@static int analyse_index(blog_spider *spider_head){FILE *fp;
+  int i;int ret;int len;int reads, comments;
@@ -610,14 +611,29 @@sprintf(url, "%s%s", CSDN_BLOG_URL, posA);/*查找博客标题*/
+              #if 0posB += 1;posC = strstr(posB, BLOG_TITLE);/*与博客地址处在同一行*/posC += strlen(BLOG_TITLE);posD = strstr(posC, "\">");*posD = 0;
-               memset(title, 0, sizeof(title));
-               strcpy(title, posC);
+              #else
+              /*在博客地址的下一行*/
+              fgets(line, sizeof(line), fp);
+
+              i = 0;
+              while (1) {
+                  /*从第一个不是空格的字符开始读取*/
+                  if (line[i] != ' ') {
+                      memset(title, 0, sizeof(title));
+                      line[strlen(line) - 1] = 0;
+                      strcpy(title, line + i);
+                      break;
+                  }
+                  i++;
+              }
+              #endif/*查找博客发表日期*/while (fgets(line, sizeof(line), fp)) {

二.blogspsider_v2.0运行结果,可以成功备份CSDN博客

gzshun@ubuntu:~/c/blogspider_v2.0$ ./blogspider gzshun
......................................
CSDN ID : gzshun
TITLE   : Open Linux C/C++专栏
URL     : http://blog.csdn.net/gzshun
访问:69747次
积分:1339分
排名:第4132名
原创:32篇
转载:6篇
译文:0篇
评论:302条
Download    ==>  2012-01-29 16:48  1.自己动手编写CSDN博客备份工具-blogspider之源码分析(3)
Download    ==>  2012-01-20 23:27  2.自己动手编写CSDN博客备份工具-blogspider之源码分析(2)
Download    ==>  2012-01-17 23:16  3.自己动手编写CSDN博客备份工具-blogspider之源码分析(1)
Download    ==>  2012-01-15 16:40  4.自己动手编写CSDN博客备份工具-blogspider
Download    ==>  2012-01-12 23:32  5.2011年各大知名软件公司校招聘软件研发类薪资待遇
Download    ==>  2012-01-06 23:27  6.如何编写一个完整的Linux命令
Download    ==>  2012-01-05 12:48  7.北漂族一票难求
Download    ==>  2012-01-03 17:45  8.Android源码分析系列-整理篇
Download    ==>  2012-01-03 10:22  9.Android-Vold, Framework和UI的通信-大结局(12)
Download    ==>  2012-01-02 19:25  10.Android-vold源码分析之连接电脑OTG(11)
Download    ==>  2012-01-01 22:34  11.张孝祥老师,您一路走好!
Download    ==>  2012-01-01 18:01  12.一个北漂程序员在新年的反思
Download    ==>  2012-01-01 11:15  13.Android-vold源码分析之格式化SD卡(10)
Download    ==>  2011-12-31 21:20  14.Android-vold源码分析之卸载SD卡(9)
Download    ==>  2011-12-30 20:15  15.Android-vold源码分析之挂载SD卡(8)
Download    ==>  2011-12-29 22:12  16.Android-vold源码分析之runCommand(7)
Download    ==>  2011-12-28 23:10  17.Android-vold源码分析之startListener(6)
Download    ==>  2011-12-27 23:41  18.嵌入式Linux下fdisk处理磁盘MBR的可选ID
Download    ==>  2011-12-27 22:32  19.Android-vold源码分析之handleBlockEvent(5)
Download    ==>  2011-12-26 22:30  20.Android磁盘管理-之vold源码分析(4)
Download    ==>  2011-12-25 00:02  21.Android磁盘管理-之vold源码分析(3)
Download    ==>  2011-12-23 22:38  22.Android磁盘管理-之vold源码分析(2)
Download    ==>  2011-12-22 21:47  23.Android磁盘管理-系统源码分析(1)
Download    ==>  2011-12-18 16:10  24.C语言sscanf函数的总结
Download    ==>  2011-12-17 21:28  25.CRC32校验算法-C实现
Download    ==>  2011-12-10 12:49  26.软件行业排名前100名的企业大全
Download    ==>  2011-12-08 21:16  27.Android移植oprofile性能监测工具
Download    ==>  2011-12-07 21:42  28.移植mtd-utils工具包--使用教程
Download    ==>  2011-12-07 21:39  29.移植fontconfig软件包
Download    ==>  2011-11-22 23:10  30.Ubuntu Server基本的环境搭建
Download    ==>  2011-11-21 23:43  31.开发环境的小见解
Download    ==>  2011-11-19 00:00  32.经典网站
Download    ==>  2011-11-18 23:41  33.创业及野心的一定要看
Download    ==>  2011-11-18 23:19  34.创业公司CEO每周应该做的13件事
Download    ==>  2011-11-18 23:15  35.开始写博客
Download    ==>  2011-07-21 22:13  36.我的CSDN博客终于能用了
Download    ==>  2011-03-05 12:10  37.如何坚持嵌入式学习(转载)
Download    ==>  2010-11-19 08:22  38.[转载]中国最致命的薄弱环节!(一个机械类毕业生的心声)

三.下载地址

春节期间,大家都很忙,赶着给亲朋好友拜年,我也不例外,时间比较少。很多同志们依然奋斗,向我要blogspider的源代码,除了CSDN博客的评论脚印,还有私底下发给我的已经有上百份,我想不是办法,我将本程序上传到CSDN的下载频道供大家下载。

CSDN博客备份工具:blogspider_v2.0.tar.bz2点击这里进入下载页面

四.联系方式

若程序出现问题,可以联系我的邮箱:gzshuns#163.com (# -> @)

我发现搞Linux的同行非常多啊,大家都是Linux程序员,希望有一个交流平台,今天下午我创建了一个QQ群,欢迎Linux开发程序员的加入!
QQ群:Linux开发程序员 (210563904)。
希望能在本群认识 志同道合 的Linux开发程序员!

自己动手编写CSDN博客备份工具-blogspider源码下载(4)相关推荐

  1. 自己动手编写CSDN博客备份工具-blogspider之源码分析(3)

    作者:gzshun. 原创作品,转载请标明出处! 来源:http://blog.csdn.net/gzshun 周星驰:剪头发不应该看别人怎么剪就发神经跟流行,要配合啊!你看你的发型,完全不配合你的脸 ...

  2. python+shell 备份 CSDN 博客文章,CSDN博客备份工具

    python+shell 备份 CSDN 博客文章,CSDN博客备份工具 在 csdn 写了几年的博客了.多少也积累了两三百篇博文,近日,想把自己的这些文章全部备份下来,于是开始寻找解决方案. 我找到 ...

  3. CSDN 博客备份工具

    前言 核心 登录模块 备份模块 博文扫描模块 演示 如何使用 效果 总结 前言 近段时间以来,听群友博友都在谈论着一件事:"CSDN博客怎么没有备份功能啊?".这其实也在一定程度上 ...

  4. 基于JSP的博客网站建设,源码下载

    大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个BLOG网站建设(采用当前非常流行的B/ ...

  5. switchyomega规则列表备份_求人不如求己,自己动手写一个CSDN博客备份小工具?...

    前提概要 背景 因为笔者在上个月的时候,突然想扩展一下技术栈,不能仅仅局限于Java,还是得掌握一门工具语言,不然显得太low.所以也就对Python和Golang类的语言有了一些兴趣.也就在上个月简 ...

  6. 【小工具】CSDN博客导出工具-Java集成Maven开发

    CSDN博客导出工具 之前一直想把CSDN的博客导入到自己的网站中,可是由于博客比较多,后面受朋友老郭启发,就找了个时间用Java开发了这款小工具. 转载请注明出处:http://chenhaoxia ...

  7. 博客备份工具——小收集

    打算长期写原创博客了,当然也就要考虑备份问题了.虽然服务器很稳定,但是一旦出什么差错,技术类的东西丢了真的很难恢复,特别痛苦. 所以收集一下可用的工具吧,针对CSDN,因为我们现在有代码片了,不知道各 ...

  8. 博客备份工具BlogDown 软件使用感想

    最近在找博客备份相关的工具,看到了一个不错的博客备份工具BlogDown.使用博客备份BlogDown工具是可以制作博客电子书的.他支持导出多种文件格式,包括常用的电子书格式chm,还有word格式d ...

  9. html个人博客网站模板(源码)

    文章目录 1.设计来源 1.1 首界面 1.2 我的文章界面 1.2 发表文章界面 1.3 文章详细界面 2.效果和源码 2.1 目录结构 2.2 源代码 源码下载 作者:xcLeigh 文章地址:h ...

  10. html简洁风格的个人博客网站模板(源码)

    文章目录 1.设计来源 1.1 博客首界面 1.2 个人简介界面 1.3 日常记录界面 1.4 文章列表界面 1.5 文章信息界面 2.结构源码 2.1 目录结构 2.2 源代码 源码下载 作者:xc ...

最新文章

  1. java字节对齐 32 64_【C语言】字节对齐问题(以32位系统为例)
  2. 阿里云HBase推出全新X-Pack服务 定义HBase云服务新标准
  3. go run/ go install/ go build / go get的区别
  4. 解决Linux 无法使用userdel 删除用户和组的问题
  5. JUC并发编程十 并发架构--Unsafe
  6. 4kyu N linear
  7. C++ 一个例子彻底搞清楚拷贝构造函数和赋值运算符重载的区别
  8. 【中学】寻找阿姆斯特朗数
  9. 21天c语言 ppt,21天学通C语言 第1章 C语言与程序概述.ppt
  10. 三次曲线和五次曲线函数
  11. 时间格式转换,转时间戳,转UTC,转中国标准时间
  12. 安卓客户端微博登陆(文件不存在 C8998)
  13. 安装MySQL 5.7.11版本,64位绿色版安装【亲测可用】
  14. git push 报错Push rejected、 remote unpack failed 、unpacker error、 failed to push some refs to
  15. 从入门到精通:掌握Python核心知识,解锁编程新世界!
  16. C++数据结构课程设计
  17. QT之CheckBox单项选择与多项选择
  18. 安卓app开发方案_「安卓APP开发流程」安卓APP如何开发的?
  19. linux mint19 无线网卡wifi速度慢解决办法
  20. 驾照科目一重难点总结

热门文章

  1. 使用MayaLiveLink插件在UE4中预览Maya模型动作
  2. 360前端校招2019笔试编程题
  3. Python爬取中国银行外汇牌价(statsmodels预测分析)--(二)
  4. linux 命令 tr 详解
  5. 2015中考计算机考试时间,2015中考时间安排
  6. 高品质摄影作图台式计算机推荐,摄影后期做图用什么电脑
  7. JavaScript Lodash 工具库
  8. 【ITool】mybatis-generator-annotation
  9. Hulugans看什么 | 50多部迪士尼经典动画片带你重温童年
  10. UGUI事件系统——事件接口