网站开发需要哪些语言,建网站算法,专业做汽车的网站,公司装修合同模板需求#xff1a; 每天早上起来可以看看天气预报#xff0c;然后顺便当个闹钟使 思路是这样的#xff1a; 模块一#xff1a;采用yahoo weather api获取北京的天气 模块二#xff1a;通过网页版飞信#xff0c;模拟飞信登陆#xff0c;给自己发短信 模块三#xff1a;发…需求 每天早上起来可以看看天气预报然后顺便当个闹钟使 思路是这样的 模块一采用yahoo weather api获取北京的天气 模块二通过网页版飞信模拟飞信登陆给自己发短信 模块三发送信息 一。get_yahoo_weather.py #!/usr/bin/env python
#codingutf-8
import urllib2
from xml.etree import cElementTree as ET
class GetWeather:def __init__(self):self.weather self.makexml()def makexml(self):url http://weather.yahooapis.com/forecastrss?w2151330ucres urllib2.urlopen(url)xmlfile open(yahoo.xml,w)xmlfile.writelines(res.read())xmlfile.close()return self.xmlET()def xmlET(self):tree ET.ElementTree(fileyahoo.xml)forecast []for elem in tree.iter(tag{http://xml.weather.yahoo.com/ns/rss/1.0}forecast):forecast.append(elem.attrib)return self.msg(forecast)def msg(self,forecast):msg_data fmt \n%s %s %s %s\n%(日期,天气,最高温,最低温)msg_data fmtfor i in forecast:msg_data %s %s %s %s%(i[date],i[text],i[high],i[low])msg_data \nreturn msg_dataif __name__ __main__:w GetWeather()print w.weather 二。fetionsimu.py #!/usr/bin/env python
#codingutf-8import cookielib
import urllib
import urllib2
import json
import re
import timedef fetion(weather_msg no data):cj cookielib.LWPCookieJar()opener urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))urllib2.install_opener(opener)t time.localtime()print t.tm_year,t.tm_mon,t.tm_mdayprint loginingurlbase http://f.10086.cn/im5/ response_text urllib2.urlopen(urlbase)response_text response_text.read()partten re.compile(rlogin/login\.action\?mnative\dt\d)urlplus partten.search(response_text)urlcomplete urlbase urlplus.group(0)
# print urlcompleteqheader {Referer:urlcomplete}args {m:your phone number,pass:your password}logurl http://f.10086.cn/im5/login/loginHtml5.actionreq urllib2.Request(logurl,urllib.urlencode(args),qheader)jump opener.open(req)page jump.read()
# print pagepage json.loads(page)if page[nickname] LGY:print login successfullyelse:print error in pass or usernamesendmsgurl http://f.10086.cn/im5/chat/sendNewGroupShortMsg.actionmsg_data {touserid:page[idUser],msg:weather_msg}msg_back urllib2.Request(sendmsgurl,urllib.urlencode(msg_data),qheader)msg_jump opener.open(msg_back)msguse msg_jump.read()msguse json.loads(msguse)if msguse[info] u发送成功:print send successfullyelse:print msguseprint send failed
if __name__ __main__:fetion() 三。sendweather.py #!/usr/bin/env pythonimport time
from get_yahoo_weather import GetWeather
from fetionsimu import fetion
def sendmsg(w):fetion(w)if __name__ __main__:w GetWeather()sendmsg(w.weather) 最后加入开机启动 用crontab -e编辑开机启动项 0 7 * * * /test/mkfun/sendweather.py /test/mkfun/sdwthmsg.log 21 然后就ok了。。。转载于:https://www.cnblogs.com/lgy6534588/p/3459120.html