Python是一種功能強(qiáng)大的編程語(yǔ)言,利用它可以爬取各種數(shù)據(jù)。其中一個(gè)很有用的應(yīng)用就是爬取天氣數(shù)據(jù)。
通過(guò)Python爬取天氣數(shù)據(jù)可以讓我們?cè)诓淮蜷_(kāi)天氣APP的情況下,就能夠方便地查看當(dāng)天和未來(lái)幾天的天氣情況。下面是一段Python代碼可以讓我們爬取深圳市的天氣數(shù)據(jù)。
import requests from bs4 import BeautifulSoup def get_weather(city): url = 'http://www.weather.com.cn/weather/{}.shtml'.format(city) response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') city_name = soup.find('input', {'id': 'search_input'}).get('value') weather = soup.find('p', {'class': 'wea'}).text temperature = soup.find('p', {'class': 'tem'}).text return '城市:{},天氣:{},溫度:{}'.format(city_name, weather, temperature) print(get_weather('101280601'))
在上面的代碼中,我們首先利用requests庫(kù)發(fā)起了一個(gè)GET請(qǐng)求去訪問(wèn)深圳市的天氣頁(yè)面,并獲取了頁(yè)面內(nèi)容。接著,我們用BeautifulSoup庫(kù)將HTML解析成Python可讀取的對(duì)象,然后通過(guò)查找HTML標(biāo)簽獲取了城市名稱、天氣狀況和溫度信息,最后將這些信息格式化成一段字符串并返回。
當(dāng)我們運(yùn)行該腳本并傳入城市的代碼(如“101280601”代表深圳市),就可以得到如下的結(jié)果:
城市:深圳,天氣:多云,溫度:25℃/31℃
通過(guò)這種方式,我們可以輕松地獲取各城市的天氣情況,從而方便我們做出相應(yīng)的安排。