天气预报首先需要的就是天气信息,可以从中国天气网的Wap网站上获取,因为Wap网站页面简单,便于抓取内容。网址是:http://wap.weather.com.cn/wap/,默认是北京的天气预报,可以更换城市。某城市的天气预报对应的网址是http://wap.weather.com.cn/wap/weather/city_code.shtml,其中city_code是城市代码。以南京市为例,南京的城市代码是101190101,所以对应的天气预报网址就是http://wap.weather.com.cn/wap/weather/101190101.shtml。
为了抓取我们需要的天气的信息,首先需要获取天气预报页面源代码,这可以使用urllib模块的urlopen方法打开页面源文件并返回一个类文件对象,然后可以通过read方法读取其内容,也就是页面源代码。
from urllib import urlopen
src_code=urlopen('http://wap.weather.com.cn/wap/weather/101190101.shtml').read() #获取页面源代码
获取的页面源代码是HTML代码,截取其中我们需要的部分内容如下:
......
南京天气预报
2011-11-22 18时发布
......
北风4-5级
......