在現(xiàn)代社會(huì)中,氣象信息對(duì)人們的生產(chǎn)、生活和安全都有著至關(guān)重要的作用。因此,如何獲取歷史天氣信息也成為了一項(xiàng)重要的課題。Python 是一個(gè)簡(jiǎn)潔、高效又易于上手的編程語(yǔ)言,適合用來(lái)爬取各種網(wǎng)站的數(shù)據(jù)。下面我們就來(lái)介紹如何使用 Python 爬取歷史天氣信息。
# 導(dǎo)入相關(guān)庫(kù) import requests from bs4 import BeautifulSoup # 定義需要爬取的網(wǎng)頁(yè) url = 'https://lishi.tianqi.com/beijing/201901.html' # 發(fā)送請(qǐng)求并獲取網(wǎng)頁(yè)內(nèi)容 response = requests.get(url) html = response.text # 使用 BeautifulSoup 進(jìn)行解析 soup = BeautifulSoup(html, 'html.parser') # 獲取我們需要的內(nèi)容 content = soup.find('div', {'class': 'tqtongji2'}) # 打印結(jié)果 print(content)
首先,我們需要導(dǎo)入 requests 和 BeautifulSoup 兩個(gè)庫(kù),requests 是用于發(fā)送 HTTP 請(qǐng)求的庫(kù),而 BeautifulSoup 是用來(lái)解析 HTML 內(nèi)容的庫(kù)。接著,定義要爬取的網(wǎng)頁(yè)的 URL ,這里我們以天氣網(wǎng)歷史數(shù)據(jù)為例。
發(fā)送請(qǐng)求后,就可以使用 BeautifulSoup 對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行解析,通過(guò)查看網(wǎng)頁(yè)源代碼,我們可以很容易地定位到我們需要的內(nèi)容所在的位置,這里是一個(gè) class 為 tqtongji2 的 div 標(biāo)簽內(nèi)。最后,我們將結(jié)果打印出來(lái)即可。
當(dāng)然,如果需要爬取多個(gè)月份的數(shù)據(jù),只需更改 URL 中日期部分即可,例如:
# 爬取 2019 年前三個(gè)月的天氣數(shù)據(jù) for i in range(1, 4): url = 'https://lishi.tianqi.com/beijing/20190{}.html'.format(i) response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') content = soup.find('div', {'class': 'tqtongji2'}) print(content)
這里我們使用了 for 循環(huán)和 format 方法,輕松地實(shí)現(xiàn)了爬取多個(gè)月份數(shù)據(jù)的過(guò)程。
總之,Python 爬取歷史天氣數(shù)據(jù)只是爬蟲(chóng)應(yīng)用的冰山一角,相信通過(guò)學(xué)習(xí)這個(gè)例子,讀者可以開(kāi)拓自己的爬蟲(chóng)思路,為自己的工作和學(xué)習(xí)探索更多可能性。