随着国内Twitter Clone集体被自杀,利用叽歪绑定飞信获取Twitter更新的法子就失效了,于是我再一次开始折腾。
这次用到的东西包括cocobear写的PyFetion、Yahoo Pipes和Google App Engine。基本思路就是利用GAE的Cron功能定时检查Yahoo Pipes抓取的RSS,如果有新的东西就用PyFetion给自己的手机发短信。
我将Cron任务设置为每5分钟执行一次,实际延迟在10来分钟的样子,还可以接受。
PyFetion源码在这里下载,需要把全局变量debug改成False。GAE的Cron配置文档在这里。
以下是代码部分:
#! /usr/bin/env python
# coding=utf-8
# 需要修改的参数
FETION_ID = '13838383838'
FETION_PWD = '383838'
RSS_URL = 'http://'
import sys, os
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
from PyFetion import *
from google.appengine.api import urlfetch
from google.appengine.api import memcache
import xml.etree.cElementTree as etree
def m_fetch_url(url):
r = urlfetch.fetch(url)
if r.status_code == 200:
return r.content
else:
return ''
def m_check_msg(xml):
dom = etree.fromstring(xml)
items = dom.findall('./channel/item')
msgs = {}
rss = {}
for item in items:
guid = item.findtext('.//guid')
title = item.findtext('.//title')
rss[guid] = 1
if memcache.get(guid) == None:
msgs[guid] = title
memcache.flush_all()
memcache.set_multi(rss)
return msgs
def m_send_sms(msgs):
try:
phone = PyFetion(FETION_ID, FETION_PWD, 'HTTP')
except PyFetionInfoError, e:
return -1
phone.login()
for guid, msg in msgs.iteritems():
try:
phone.send_sms(msg.encode('utf-8'))
except:
memcache.delete(guid)
def main():
print 'Content-Type: text/plain'
print ''
xml = m_fetch_url(RSS_URL)
if xml == '':
return -1
msgs = m_check_msg(xml)
if msgs == None:
return -1
m_send_sms(msgs)
main()
--
Posted By GFW Blog to GFW Blog at 8/05/2009 11:33:00 P
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论