hothduser 发表于 2011-4-7 20:44:42

用Yahoo Pipe自定义PT的RSS输出

本帖最后由 hothduser 于 2011-4-7 22:35 编辑

HDR的rss输出(http://hdroad.org/rss.php)没有格式而且不能选分类,特别是没有换行,看起来特别累,我后来又发现了个RSS设置地址(http://hdroad.org/getrss.php),不过试了下分类选项不起作用。
于是我就拿Yahoo Pipe将HDR的RSS的结果自定义了一下,终于算满足需求了。
我的pipe 地址 http://pipes.yahoo.com/pipes/pipe.info?_id=4608ad62e5f5b4f705527dc950973b67 ,点Edit Source 就可以看pipe的源码,点Get as RSS 就可以订阅这个pipe。

这个pipe首先筛掉了体育节目,连续剧和纪录片,其次加入了换行,排版更好看,修复了原始RSS里损坏的图片和地址链接,在标题加入了IMDB 评分/人数、类别、大小及年份,最后在正式内容前插入了IMDB的海报,图文并茂。

下来讲讲这个pipe怎么写的
http://i.imgur.com/3WGNb.jpg
其中左边栏是工具箱,右边就是工作区了,右下是调试输出结果
1 从http://hdroad.org/rss.php取出RSS
2 将RSS的描述复制一份,以便之后提取imdb号
3 将分类信息中包含体育节目,纪录片和连续剧的项目排除,另外有些剧集在上传的时候选的是电影分类,所以这里再根据标题把包含S+两位数字+E+两位数字的项目也排除掉
4 首先将大小信息中的“大小”几个字删除,只保留数字和单位(例如:3.3 GB)
   由于HDR的描述输出是纯文本格式的,而RSS是html的,所以要在每行前加<br>换行
   接下来把图像标签由变成html的格式
   把前面存下来的描述副本中所有不包含tt+数字(这是imdb号的格式)的行全删除
   然后将imdb号提取出来生成去imdb信息的请求地址
   再把超链接标签由替换成html的格式<a href></a>
5 对于RSS中的每一个项目都通过之前生成的请求地址取出imdb信息,并存入每个项目的imdbinfo属性中
6 这步主要是为了让信息更好看写,比如给大小前后+[]等,另外就是把imdb poster替换成html的img格式
7 将年份,影片类别,评分,投票数,大小连接到标题后面,注意如果对应信息为空则不连接,比如右下调试区域的“贝多芬。。。。”就只连接了大小到标题后面
8 将imdb 的海报添加到描述前面
9 最后将结果输出

上面用到了正则表达式,这个东西不是两三句话就能讲清楚的,如果感兴趣可以搜搜教程
如果你需要修改的话可以clone一份然后按你的需求修改
处理其他PT的RSS输出也大同小异
最后附上修改前后Google Reader的对比图
之前:
http://i.imgur.com/WTI2d.jpg
之后:
http://i.imgur.com/gS5OV.jpg

mowei@2 发表于 2011-4-7 21:46:57

过来顶技术贴{:3_308:}

yang735 发表于 2011-4-7 22:07:41

{:3_286:}过来顶技术贴!{:3_299:}{:3_304:}

jujubes 发表于 2011-4-14 19:53:15

丁丁技术贴,很受用

jily 发表于 2011-4-18 16:48:06

过来学习下。。。

jomc 发表于 2011-4-18 17:33:39

这个确实是个好办法,先学习下,同时感谢楼主分享!

wfhwfh 发表于 2011-4-18 18:25:00

RSS订阅用来过滤自动下载的,看还是少看

Columbia 发表于 2011-4-19 15:55:54

先学习下,感谢楼主分享!
页: [1]
查看完整版本: 用Yahoo Pipe自定义PT的RSS输出