关于我
 

xjpvictor's Blog
小老鼠,上灯台,两只耳朵竖起来

rss feed更新blogger


各种折腾·blogspotlinuxscript

本文发表于超过180天以前,部分内容可能已经失效

一直希望由一个rss feed自动把标题和链接发布到blogger,这样把文件上传到box.net以后就能用box.net的rss自动发布一个blog文章,并提供文件的下载链接。
第一个方法,把rss在feedburner里再烧制一遍,同时启用subscribe by email,同时使用blogger的发布邮箱subscribe,于是如果当天有更新,feedburner会发一封邮件到blogger,就能自动发布了。但是这个邮件会含有一些说明,比如说是通过feedburner的邮件发布的。而且如果有多个文件更新,会放到一封邮件里,而标题只能显示一个文件的文件名,加上更新的文件数目而已。这个方法不能用来更新wordpress.com的blog,因为这个网站不支持没有在wordpress.com注册的邮件地址发布新文章。
第二个方法是用ifttt.com。这个网站类似于yahoo pipe,能让用户自定义trigger条件,比如说rss更新,google reader加星,twitter fav等,然后添加action,比如发送短信,twitter,wordpress更新,把链接里的文件发送到dropbox等等。网站本身提供了很多trigger和action。用rss的trigger和email的action就能在rss更新的时候发送邮件到blogger发布新文章。而且wordpress.com的博客也是适用的,因为提供了wordpress的发布文字的action。只是我没试过,不知道会不会加上一些类似于“发布自ifttt”的说明文字。
第三个方法是在linux上用脚本搞定。

#!/bin/bash

dir=~/scripts/blog/ebook
rss=$dir/rss.xml
wget -q http://www.xxxx.com/xxxx/rss.xml -O $rss

ld=`sed -n "1p" $dir/lastDate`
pd=`sed -n "14p" $rss | sed -e '1s///' -e '$s/$//'`
let p=14
let t=12
let l=15
n=$(wc -l $rss)
let i=0

while [ "$pd" != "$ld" ]
do
  title=`sed -n "${t}p" $rss | sed -e '1s///' -e '$s/$//'`
  link=`sed -n "${l}p" $rss | sed -e '1s///' -e '$s/$//' -e 's/amp;//g'`
  text=<a href="$link">$title</a>
  let p2=$p+10
  if [ $p2 -lt $n ]; then
    pd=`sed -n "${p2}p" $rss | sed -e '1s///' -e '$s/$//'`
    p=$p2
  fi
  let t=$t+10
  let l=$l+10
  echo $text | mutt -s "$title" -e 'set content_type="text/html"' -- xxxx@blogger.com
  echo $title
  let i=$i+1
done
sed -n "14p" $rss | sed -e '1s///' -e '$s/$//' > $dir/lastDate
echo "$i posts updated"

rm ~/sent $dir/rss.xml

这个脚本就是先把rss feed的文件下载下来,然后找到每个item的pubDate,如果pubDate比上次最后发布时间晚就把文件名和链接作为邮件发布到blogger,当item的pubDate和上次最后发布时间相同就停下,然后把这次的最后发布时间记录下来。大概不同的rss文件内容会不同,但是结构应该差不多,都是一个item一个item的。

ps. ifttt.com这个网站其实概念不是很新,算是yahoo pipe的衍生,但是添加了很多新的功能,yahoo的只能feed输入再feed输出。不过ifttt的保存到dropbox功能和sms功能比较不错。其他的功能很容易就能找到替代。ifttt的短信好像是免费的,但是不支持中文,会显示为问号。

本文 "rss feed更新blogger" 由 K. Huang 首先发表于 xjpvictor's Blog 并以 CC BY-NC 4.0 许可证发布 © 2011
转载注明引用来源 https://blog.xjpvictor.info/2011/06/rss-feed%e6%9b%b4%e6%96%b0blogger/

赞助我

评论

你的邮箱地址不会被公开。必填项以 * 标出

无意义或不相关评论将被删除

取消 上传图片 或拖拽上传

* Some files will not be uploaded. Only png, gif, jpg are allowed and maximum 10 images, each file less than 10M.

你可以添加 10 个 png/gif/jpg 图片 (每个文件小于 10M)

允许使用以下html标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

你可以上传文件,粘贴代码或长文至 Drop.it.r

更多相似文章