前言

利用python爬虫技术爬取中国气象网的天气数据,并对数据进行分析处理可视化,绘制图线

请求网站链接:

http://www.weather.com.cn/weather/101270101.shtml

python 和风天气 python爬取天气数据_python 和风天气

一、爬取、解析数据

 需要用到的库:

python 和风天气 python爬取天气数据_html_02

 

获取网页,采用requests.get()方法:

python 和风天气 python爬取天气数据_python 和风天气_03

 

 

 提取有用信息,我们用bs4来解析网页:

python 和风天气 python爬取天气数据_数据_04

 

 

 

python 和风天气 python爬取天气数据_保存数据_05

 

 

 在此,7天的数据信息在div标签中并且id="7d",同时日期、天气、温度、风级等信息都在ul和li标签中,

所以我们使用BeautifulSoup对获取的网页文本进行查找div标签id="7d",找出它包含的所有ul和li标签,之后提取标签中相应的数据值,保存到对应列表中。

二、保存数据

 保存数据到SQLite

python 和风天气 python爬取天气数据_保存数据_06

 

 

 将爬取到的数据转化为元组,通过创建数据表、连接数据库服务器来进行存储

三、可视化分析

读取数据

因为最高气温、最低气温通过连接数据库打印出来在一个列数据中,并且是字符串,所以我们先把他们分开(在这里我们用到了正则表达式来切割),然后换成整数型数据

python 和风天气 python爬取天气数据_保存数据_07

 

 

 绘图展示

通过引入matplotlib库设置折线图

python 和风天气 python爬取天气数据_html_08

主函数:

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天的天气情况,可以从数据中得到一些规律,从而可以有根据的预测接下来的天气情况,运用到某些领域。