ubuntu-python自动发飞信

系统需要:
1、FetionRobot(飞信机器人)
飞信机器人,是一个免费的飞信客户端程序。我们需要他的Linux系统包。在它的首页上面下载“”和“”。
把下载的文件,解压到同一个目录,譬如HOME/libfetion。现在不需要他的plugin,所以把plugin目录下面的文件都备份到其他地方。
直接执行
./fetion
如果出现没有找到库文件(share library),用aptitude安装一些即可。
2、用python调用WebService获取当日天气
需要安装python-soappy库。
sudo aptitude install python-soappy

代码如下(weather.py):
#!/usr/bin/python

from SOAPpy import WSDL
import os

weather=WSDL.Proxy('http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl')

weather.soapproxy.config.buildWithNamespacePrefix = 0
for i in weather.methods:
weather.methods[i].namespace = weather.wsdl.targetNamespace

#54830是淄博,具体可以到www.webxml.com.cn查询城市代号
result=weather.getWeatherbyCityName(theCityName='54830')

def Conv(str):
return str.replace('>','').replace('=','').replace('<','').replace('/','-').encode('UTF-8')

today_weather=os.environ['HOME']+'/libfetion/install/p.sh'
re=[]
#re.append('Weather of %s in %s:' %(Conv(result[0][1]),result[0][4].split(' ')[0]))
re.append(' '.join( [Conv(result[0][6]) , Conv(result[0][5]) ]))#, Conv(result[0][7])]) )
re.append(' '.join( [Conv(result[0][13]),Conv(result[0][12]) ]))#,Conv(result[0][14])]))
re.append(' '.join( [Conv(result[0][18]) , Conv(result[0][17]) ]))#, Conv(result[0][19])]) )

sms=' '.join(re)

f=open(today_weather,'w')
phones=['photonumber'] #photonumber你的电话号码
for phone in phones:
f.write('sms %s %s' % (phone,sms)+os.linesep)

f.write('exit'+os.linesep)

3、申请一个飞信号码
4、编写一个shellscript,在fetionrobot目录下面
#!/bin/sh
$HOME/weather.py
mobilenumber='xxxx' #电话号码
fetionpass='xxxx' #飞信密码
./fetion -u $mobilenumber -p $fetionpass -b p.sh >> /dev/null

5、添加一个crontab任务
crontab -e
这里就不再深入了,非常简单。

至此,一个完全免费,功能齐全的”天气预报“系统打造成功。每天,系统会自动把当日的天气自动发送到你的手机上面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值