`
mmdev
  • 浏览: 12928475 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
作者: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 0
 				posB += 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程序员,希望有一个交流平台,今天下午我创建了一个,欢迎Linux开发程序员的加入!
:Linux开发程序员 (210563904)。
希望能在本群认识 志同道合 的Linux开发程序员!

分享到:
评论

相关推荐

    CSDN博客备份工具-blogspider_v2.0.tar.bz2

    CSDN博客备份工具blogspider,可以备份自己所有的CSDN博客到本地,也可以备份别人的博客。若需要保存别人的技术博客或自己的问题,blogspider可以帮你达到目的。若blogspider程序出现问题,可以关注我的CSDN博客,...

    CSDN博客下载器v2.2

    好消息:CSDN博客下载器v2.0版本增加导出PDF文件功能,方便查看图片与文章。 在无网络环境,也可以看自己的一些文章。当然如果您发现CSDN博客的一些文章值得收藏,你也可以使用本软件轻松的下载到您的电脑。 该版本...

    blogspider

    我的毕业设计,用于抓取百度空间的博客以备份到本地数据库中,可以下载图片到文件系统中。 <br>代码拿出来供大家分享,希望有人一起研究进步。下面是baidu空间所使用数据库的代码,谢谢 create database ...

    csdnBlogSpider:博客备份实用程序

    我们可以使用它来增加csdn id的访问时间,这也是一个博客备份实用程序。 python版本的Blogspider是单线程的,但很简单。 可以与C版本进行比较。 构建csdnBlogSpider 可以在ubuntu 3.11.3上编译和使用...

    机械设计试验机sw20可编辑非常好的设计图纸100%好用.zip

    机械设计试验机sw20可编辑非常好的设计图纸100%好用.zip

    JSP基于WEB的图书馆借阅系统的设计与实现(源代码+论文).zip

    JSP基于WEB的图书馆借阅系统的设计与实现(源代码+论文)

    1_6_huh猫(扭曲声音)_分p整合猫meme素材90+(持续更新中).mp4

    1_6_huh猫(扭曲声音)_分p整合猫meme素材90+(持续更新中).mp4

    【超炫购物模板】仿拍鞋网商城首页触屏版html5手机wap购物网站模板下载.zip

    【超炫购物模板】仿拍鞋网商城首页触屏版html5手机wap购物网站模板下载.zip

    国内外顶尖信用评级方法+18个行业信用评级指标体系+穆迪评级方法

    国内外顶尖评级方法 中诚信评级方法汇总 18个行业评级指标体系文档 募集+法律意 见书+评级报告案例 穆迪评级方法 某公司债券募集说明书及评级报告-经典案例 国 内外顶尖评级方法.part2.rar (13.32 MB)

    Unity3D版本游戏源码2-119美食游戏模板-Restaurant&CookingStarterKit1.72

    Unity3D版本游戏源码2-119美食游戏模板—Restaurant & Cooking Starter Kit 1.72提取方式是百度网盘分享地址

    LNMP部署wordpress

    LNMP部署wordpress

    node-v11.9.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    论文复刻中国式融资融券与企业金融化-双重差分模型(Stata代码附数据)PSM+DID

    ●论文复刻● 中国式融资融券与企业金融化 ——基于分批扩容的准自然实验 通过本案 例可以学习到什么 从基础数据整理到最后的结果输出的完整案例 基础结果:描述性统计 、相关系数矩阵、双重差分回归、绘制走势图 如何对缺失值和异常值处理(缩尾处理) 输出表格结果 组间差异检验 动态平行趋势检验 稳健性检验方法 倾向得分匹配PSM 替换被解释变量 控制省份固定效应 改变计量方法,采用个体和时间上的双重聚类调整 剔除IPO当年的样本 企业金融化的动机(套利动机、股价崩盘) 进一步研究(考察 管理层持股和机构投资者持股的差异、考察产品市场竞争的差异、考察股票市场行情的差异 ) 学习到论文实证分析中常用的命令(merge、logout、esttab、ps match2、cluster2、coefplot、ttest、ranksum等) 内容丰富,绝对超值,建议先下载文献看看,有需要可以下载系统学习,其他相关主题的 论文可速成 模型说明 变量定义 变量符号 定义与度量方式 Fin 企业金融化,金 融资产/总资产 Post List 虚拟变量,公司股票成为融资融券标的以后年度的 样本取值为1;否

    地产界面模版.zip

    触屏版html5响应式手机app网站模板下载 触屏版html5响应式手机,自适应手机wap

    VOC2-1-2-2-2-2-2

    VOC2-1-2-2-2-2-2

    从头开始训练SSD-python源码.zip

    从头开始训练SSD-python源码.zip

    基于faster-rcnn实现的行人检测算法python源码+项目说明+详细注释.zip

    基于faster-rcnn实现的行人检测算法python源码+项目说明+详细注释.zip 使用方法: 1.编译安装faster-rcnn的python接口,代码在:https://github.com/rbgirshick/py 2.下载训练好的caffe模型,百度云链接为:https://pan.baidu.com/s/1w479QUUAwLBS2AJbc-eXIA,将下载的模型文件放到faster-rcnn文件夹的data/faster_rcnn_models文件夹中 3.将本项目中的文件夹替换安装好的faster-rcnn源码中的文件夹 4.使用tools文件夹下的测试脚本运行demo:python person_detect.py

    基于Torch Hub的yolo5和ssd推理-python源码.zip

    基于Torch Hub的yolo5和ssd推理-python源码.zip

    机械设计工件气压测试平台sw18非常好的设计图纸100%好用.zip

    机械设计工件气压测试平台sw18非常好的设计图纸100%好用.zip

    JSP机房上机收费管理系统(源代码+论文+外文翻译).zip

    JSP机房上机收费管理系统(源代码+论文+外文翻译)

Global site tag (gtag.js) - Google Analytics