百度的天气预报
#coding: utf-8
import sae
import web
import xml.etree.ElementTree as ET
import urllib2
urls = (
'/', 'Hello'
)
class Hello:
def GET(self):
data=web.input()
echostr=data.echostr
return echostr
def POST(self):
data=web.data()
root = ET.fromstring(data)
fromUser=root.findtext(".//FromUserName")
toUser=root.findtext(".//ToUserName")
CreateTime=root.findtext(".//CreateTime")
MsgType=root.findtext(".//MsgType")
Event=root.findtext(".//Event")
Content=root.findtext(".//Content")
Content = Content.encode('UTF-8')
url='http://api.map.baidu.com/telematics/v3/weather?location='+Content+'&ak=1a3cde429f38434f1811a75e1a90310c'
response = urllib2.urlopen(url)
html = response.read()
weather = ET.fromstring(html)
wdata=weather.findtext("./results/weather_data/date[1]")
tpl='''<xml>
<ToUserName>'''+fromUser+'''</ToUserName>
<FromUserName>'''+toUser+'''</FromUserName>
<CreateTime>'''+CreateTime+'''</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content>'''+wdata+'''</Content>
</xml>'''
return tpl
app = web.application(urls, globals()).wsgifunc()
application = sae.create_wsgi_app(app)