① 如何使用python利用api獲取天氣預報
這個和用不用python沒啥關系,是數據來源的問題。調用淘寶API,使用 api相關介面獲得你想要的內容,我 記得api中有相關的介面,你可以看一下介面的說明。用python做爬蟲來進行頁面數據的獲取。希望能幫到你。
② 求助:用python獲取天氣預報
# 獲取溫度、濕度、風力等
WEATHER_URL_A = "http://www.weather.com.cn/data/sk/%s.html"
# 獲取天氣狀況、最大/小溫度等
WEATHER_URL_B = "http://www.weather.com.cn/data/cityinfo/%s.html"
# 獲取未來7天天氣數據
WEATHER_URL_C = "http://www.weather.com.cn/weather/%s.shtml"
URL里%s指城市對應的代碼。詳細參考:
http://www.cnblogs.com/toosuo/p/3868004.html
不過這篇文章里有的介面已經不能用了。
上面我給的三個URL里,前兩個直接返回json格式數據;第三個返回是一個頁面,需要自己從頁面里提取想要的信息。
③ python爬取天氣預報怎麼合並兩個網址的天氣預報
通過合並公式。python爬取天氣預報是通過合並公式來合並兩個網址的天氣預報的,Python的創始人為荷蘭人吉多·范羅蘇姆(GuidovanRossum)。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。
④ python如何提取網頁天氣信息
bs4是可以提取的,因為你這一段裡面出現的文字都是你要的,不存在剔除的考慮。
網頁解析:要麼使用bs4、要麼使用bs4+re(正則),或者你可以使用以下PyQuery,這個也是用在網頁爬蟲解析頁面的模塊。
如果還是琢磨不出來,你把你這整個的html源碼發上來,我搞搞,現在只看一段很難幫你
⑤ 如何使用python利用api獲取天氣預報
試試這個:http://wthrcdn.etouch.cn/weather_mini?citykey=101210101
返回的數據是經過gzip壓縮的,如果你用urllib,需要先把獲取的二進制數據解壓,再解碼成字元串。用requests庫就方便多了,包括編碼都幫你自動解決,不需要自己操心。
順便推薦Chrome的JSON-Handle插件,查看JSON非常方便。
⑥ python怎麼自動抓取網頁上每日天氣預報
使用到了urllib庫和bs4。bs4提供了專門針對html的解析功能,比用RE方便許多。
# coding : UTF-8import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )from bs4 import BeautifulSoupimport csvimport urllibdef get_html(url):
html = urllib.urlopen(url) return html.read()def get_data(html_text):
final = []
bs = BeautifulSoup(html_text, "html.parser")
body = bs.body
data = body.find('div', {'id': '7d'})
ul = data.find('ul')
li = ul.find_all('li') for day in li:
temp = []
date = day.find('h1').string
temp.append(date)
inf = day.find_all('p')
temp.append(inf[0].string,) if inf[1].find('span') is None:
temperature_highest = None
else:
temperature_highest = inf[1].find('span').string
temperature_highest = temperature_highest.replace('C', '')
temperature_lowest = inf[1].find('i').string
temperature_lowest = temperature_lowest.replace('C', '')
temp.append(temperature_highest)
temp.append(temperature_lowest)
final.append(temp) return finaldef write_data(data, name):
file_name = name with open(file_name, 'a') as f:
f_csv = csv.writer(f)
f_csv.writerows(data)if __name__ == '__main__':
html_doc = get_html('http://www.weather.com.cn/weather/101190401.shtml')
result = get_data(html_doc)
write_data(result, 'weather.csv') print
運行結果保存在csv文件中,如下:
28日(今天),小雨,,13℃29日(明天),小雨轉陰,15℃,12℃30日(後天),多雲,19℃,14℃31日(周一),小雨,16℃,14℃1日(周二),陰轉多雲,16℃,10℃2日(周三),多雲轉晴,17℃,10℃3日(周四),多雲轉晴,18℃,11℃1234567
⑦ 用python獲取天氣預報的代碼出錯了,求解
前面的回答也足夠簡明了。
首先,找出出問題的代碼行數。
其次,找出出問題的變數。
你 print(type(變數名))你就可以發現該變數是 str字元串類型的,無法參與計算,所以你應該將它轉換成數值類型的,一般都用 float(變數名)來轉換,改完那一行報錯的行,就基本不用改別的了。
個人建議:
1. 你的 Python基礎似乎有些薄弱,最好好好學習一下基礎。其他模塊都需要這個基礎才能更好使用。
2.或許你可以看看 pandas。有時候做數據分析用 pandas可以節省很多代碼,特別對於剛學習 python的人來說,或許更加容易接受 pandas的特有語法。
財富值如果有的話應該給上面那個回答問題的人。因為他的答案是正確的。
⑧ python怎麼在天氣數據中篩選最高氣溫大於10度的日期
python在天氣數據中篩選最高氣溫大於10度的日期步驟如下。
1、在命令行中直接使用pip進行模塊安裝。
2、利用select語句找到網頁中天氣數據所在的div即可。
⑨ Python氣象數據處理與繪圖(1):數據讀取
python很多庫支持了對nc格式文件的讀取,比如NetCDF4,PyNio(PyNio和PyNgl可以看做是NCL的Python版本)以及Xarray等等。
我最初使用PyNio,但是由於NCL到Python的移植並不完全,導致目前遠不如直接使用NCL方便,而在接觸Xarray庫後,發現其功能強大遠超NCL(也可能是我NCL太菜的原因)。
安裝同其它庫一致:
我這里以一套中國逐日最高溫度格點資料(CN05.1)為例,其水平精度為0.5°X0.5°。
可以看到,文件的坐標有時間, 經度,緯度,變數有日最高溫
我們將最高溫數據取出
這與Linux系統中的ncl_filemp指令看到的信息是類似的
Xarray在讀取坐標信息時,自動將時間坐標讀取為了datetime64 格式,這對我們挑選目的時間十分方便。Xarray通常與pandas配合使用。
比如我們想選取1979.06.01-1979.06.20時期數據,我們只需
再比如我們想選取夏季數據時,只需
更多的時間操作同python的datetime函數類似。
當我們想選取特定經緯度范圍(高度)的數據時,.loc[]函數同樣可以解決。
在這里,我選取了40°N-55°N,115°E-135°E范圍的數據
甚至,我們還可以套娃,同時疊加時間和范圍的選取
這足夠滿足常用到的數據索引要求。
對於這類簡單排列的.txt文件,可以通過np.load讀取,用pandas的.read_csv更為方便
讀取txt的同時,對每列賦予了一個列名,通過data.a可以直接按列名調用相應數據。
對於較復雜的.txt文件,仍可通過該函數讀取
skiprows=5跳過了前5行的文件頭,sep='\s+'定義了數據間隔為空格,這里用的是正則表達。
pd.read_csv函數有很多的參數,可以處理各種復雜情況下的文本文件讀取。
grib文件可通過pygrib庫讀取
import pygrib
f = pygrib.open('xxx.grb')
⑩ Python氣象數據處理與繪圖(12):軌跡(台風路徑,寒潮路徑,水汽軌跡)繪制
寒潮是筆者主要的研究方向,寒潮路徑作為寒潮重要的特徵,是寒潮預報的重點之一,同樣的道理也適用在台風研究以及降水的水汽來源研究中。關於路徑的計算以及獲取方法(比如軌跡倒推,模型追蹤等等方法,台風有自己現成的數據集,比如ibtracs數據集等等)並不在本文的介紹范圍之內,本文主要介紹在獲取了相應的路徑坐標後,如何在圖中美觀的展現。
上圖展現了近40年東北亞區域的冬季冷空氣活動路徑,繪制這類圖需要的數據只需為每條路徑的N個三維坐標點,第一第二維分別為longitude和latitudee,第三維則比較隨意,根據需要選擇,比如說需要體現高度,那就用高度坐標,需要體現冷空氣強度,那就用溫度數據,水汽可以用相對濕度,台風也可以用速度等等。
通常此類數據是由.txt(.csv)等格式存儲的,讀取和處理方法可參考我的「Python氣象數據處理與繪圖(1):數據讀取」,本文主要介紹繪圖部分。
當然根據需要,也可以直接繪制兩維的軌跡,即取消掉顏色數組,用最簡單的plot語句,循環繪制即可。
有一個陷阱需要大家注意的是,當軌跡跨越了東西半球時,即穿越了0°或者360°經線時,它的連接方式是反向繞一圈,比如下圖所示,你想要藍色的軌跡,然而很有可能得到綠色的,這是因為你的網格數組的邊界是斷點,系統不會自動識別最短路徑,只會在數組中直接想連,因為這不是循環數組。
我目前的解決辦法是這樣的:如果你的數據是0°-360°格式,那麼變為-180°-180°的格式,反之相互轉換。但是如果你的數據兩種都出現了斷點,也就是繞了地球一圈多,那無論怎樣都么得辦法了,我目前的思路是將數據轉換成極坐標數據格式,理論上是可行的,CARTOPY的繪圖也是支持極坐標數據的,具體實施還需要再試試。