前言
利用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天的天氣情況,可以從數據中得到一些規律,從而可以有根據的預測接下來的天氣情況,運用到某些領域。