前言
利用python爬虫技术爬取中国气象网的天气数据,并对数据进行分析处理可视化,绘制图线
请求网站链接:
http://www.weather.com.cn/weather/101270101.shtml
一、爬取、解析数据
需要用到的库:
获取网页,采用requests.get()方法:
提取有用信息,我们用bs4来解析网页:
在此,7天的数据信息在div标签中并且id="7d",同时日期、天气、温度、风级等信息都在ul和li标签中,
所以我们使用BeautifulSoup对获取的网页文本进行查找div标签id="7d",找出它包含的所有ul和li标签,之后提取标签中相应的数据值,保存到对应列表中。
二、保存数据
保存数据到SQLite
将爬取到的数据转化为元组,通过创建数据表、连接数据库服务器来进行存储
三、可视化分析
读取数据
因为最高气温、最低气温通过连接数据库打印出来在一个列数据中,并且是字符串,所以我们先把他们分开(在这里我们用到了正则表达式来切割),然后换成整数型数据
绘图展示
通过引入matplotlib库设置折线图
主函数:
def main():
baseurl = 'http://www.weather.com.cn/weather/101270101.shtml'
header='''User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36 Edg/96.0.1054.53'''
html = get_html(baseurl,header)
# print(html)
datalist = get_data(html)
# #savepath=".\\天气预报.xls"
# #savedata(datalist,savepath)
# dbpath="weather.db"
# init_db(dbpath)
# dbsave(datalist,dbpath)
#print(datalist)
view()
四、总结
通过爬虫获取数据是为了分析数据,从而得到数据背后的规律,以此来预测展示某些数据发展的趋势,
通过爬取7天甚至40天的天气情况,可以从数据中得到一些规律,从而可以有根据的预测接下来的天气情况,运用到某些领域。