弄了个让csdn blog输出全文的东西
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://blog.devep.net/virushuo/2009/03/23/csdn_blog.html
某一天,喝了半瓶大二。然后我就想,我这到底算能喝酒还是不能喝酒呢?前几天喝的还没这个多,怎么就把笔记本丢了呢(这故事回头有时间再写)?
很久以前,喝多了酒,我就喜欢随便找个不规则物体,用微积分来算体积玩。后来就不玩这个了。现在比较喜欢写点好玩的程序或是找个命题来算概率。
想起来xuyou推荐过g9的blog,而csdn blog因为不输出全文,基本被我排除出了订阅列表。于是就顺手扒拉了一个小程序,用来把全文抓出来,塞在rss里面,好订阅用。
结果今天比较清醒的看了看那天扒拉出来的程序,竟然还真能用。
所以就放这了。
这东西是基于magpierss做的。没什么特别的,写了一个基于token的解析器来解析文章,把需要的部分抓出来。这种方法在做语法分析器的时候很常见。当然了,您不能对醉鬼要求太高,所以我这个解析器只分析了单层标签,如果想支持多层的,只要加一个栈就可以了。我暂时用不到,不加了。
说起来php真是个不错的语言,简洁有力。字符串处理很强大。计算机这个家族里面,很大部分的机器是在做字符串处理和数据库工作,还有很大的一部分在做排序工作。所以一个字符串处理功能强大的语言就是最容易流行的语言。
我做了几个我要订阅的rss:
g9的: http://blog.devep.net/tool/magpierss/rss.php?url=http://blog.csdn.net/g9yuayon/rss.aspx
阿朱的: http://blog.devep.net/tool/magpierss/rss.php?url=http://blog.csdn.net/david_lv/Rss.aspx
用法很简单,就在后面加上csdn blog的rss地址就行了。你可以下载代码回去自己搭一个玩玩。
代码在:http://blog.devep.net/tool/magpierss_withparser.tgz
很简单,很粗暴,很粗糙,也没什么版权,拿去随便干点什么用吧。





Comments
1 这个代码是不是通用的,还是只针对csdn blog?
2 你给的两个网址我这里都转换不出来,不知道是代码问题还是你的服务器空间的性能问题导致的?
3 有一个日本网站提供这种服务 大家反馈都比较好,试试
http://mrss.dokoda.jp/
Posted by: kuqin | March 23, 2009 8:48 AM
1 只对csdn,需要什么自己改一下就行。
2 我这个服务器性能一般,php偶尔会出错。
3 这个对csdn这种不规范的肯定没用。
Posted by: virushuo | March 23, 2009 11:02 AM
我之前也用yehoo pipes做过一个,不过现在用不上了:
http://pipes.yahoo.com/pipes/pipe.info?_id=ylJGds3i3RGkZh7_BRNMsA
流程很简单,抓取页面,然后切割出正文的那个div。
Posted by: pongba | March 23, 2009 12:41 PM
记得当年Grothendieck在蒙特利尔时因不满照本宣科式的课堂教学,躲在角落思考令人满意的长度、面积和体积的定义,重新发现了测度论和勒贝格积分的概念。不知你在思考体积的时候有没有发现什么?;)
Posted by: ManofPhysics | March 25, 2009 2:18 PM
haha, http://xkcd.com/323/
Posted by: You Xu | March 29, 2009 10:09 PM
博主您好
非常喜欢您网站的内容
也经常来看
想和您做个友情链接
可以吗
谢谢!
Posted by: 园子 | April 2, 2009 4:15 PM
高手顶三下 呵呵
Posted by: 长盛证券 | April 8, 2009 4:48 PM
php的数组本身就支持栈式的操作,直接增加一个全局数组,然后global引用,再进行push pop 就可以搞定
代码不通用并不重要,重要的是能在特定环境下跑的很好。
Posted by: yayv | May 8, 2009 1:57 AM
下载不了
Posted by: Anonymous | August 24, 2009 6:26 PM