1、分析网页
首先开始观察要爬取的网页(此处为中国天气网天气预报):
这是华北地区的天气预报网址为:http://www.weather.com.cn/textFC/hb.shtml
切换到东北地区后:
可以发现url只有textFC/后面的字符改变了,hb代表华北,db代表东北,所以由此可以建立一个url列表,只要循环遍历此表,便可以获取各个地区的天气预报网页url(由于港澳台网页结构较为特殊,此处不做处理) 。
接下来定义一个get_temperature函数来查找网页中需要的天气信息,构建一个headers参数,并提交request.get请求,接下来使用BeautifulSoup进行网页的解析。
在浏览器中按右键检查元素,观察网页结构,可以发现页面所有的城市信息及该城市的天气信息都在
的标签下,而每个conMidtab2的标签下的内容则为该地区各个省的天气信息:
该省不同城市的天气信息在conMidtab2的标签下的table的标签下的tbody里的tr标签内的td下,每个省的conMidtab2内的第3个tr标签开始才为真正的城市天气信息;每个含有天气信息的tr标签的第一个td标签里含有省份(直辖市)信息。
该省不同城市的天气信息在conMidtab2的标签下的table的标签下的tbody里的tr标签内的td下,每个省的conMidtab2内的第3个tr标签开始才为真正的城市天气信息;每个含有天气信息的tr标签的第一个td标签里含有省份(直辖市)信息。