功能:
实时获取某地未来七天的天气情况。
获取的天气源址:http://qq.ip138.com/weather/
思路:
根据天气的url发送请求,获取请求结果的页面信息,从页面信息使用正则表达式得到有用的信息,关于正则表达式可以从这个链接(正则表达式)
代码:
import re
import urllib.request,sys
def getWeather():
provice = input('输入省份名(请使用拼音):')
city = input('输入城市名(请使用拼音):')
# 获取天气的url
url = "http://qq.ip138.com/weather/" + provice + '/' + city + '.htm'
# 获取页面信息
weatherhtml = urllib.request.urlopen(url)
res = weatherhtml.read().decode('gb2312')
pattern = 'Title.+<b>(.*)</b>'
Title = re.search(pattern, res).group(1)
pattern = '>(\d*-\d*-\d*.+?)<'
date = re.findall(pattern, res)
pattern = '<br/>(.*)</td>'
weather = re.findall(pattern, res)
print("%20s" % Title)
length = len(date)
for i in range(0, length):
print('%20s' % date[i], '\t%s' % weather[i])
if __name__ == "__main__":
getWeather()
运行效果: