⑴ 求助:用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如何保存網頁天氣預報並保存為csv
你可以通過爬蟲技術將數據全部爬取下來,然後存放在DataFrame中,最後用.to_csv來保存
⑶ ppt如何抓取天氣預報
您好,抓取天氣預報的步驟如下:
1.首先,您需要找到一個可靠的天氣預報源,比如中央氣象雹羨培台或者當地氣象台。
2.然後,您需要找到一個可以抓取天氣預報信息的程序,比如Python或者JavaScript等編程語言。
3.接著,您需要編寫一個程序,從天氣預報源獲取天氣預報信息,並將其存儲到您的資料庫中。
4.最後,您需要使用PPT或其他工具,將獲取的天氣預報信息展示出來。
總之,抓取天氣預報的步驟就是:找到一個可靠的天氣預報源,使用編程語言編寫程序從天氣預報源獲取信息,將其存儲到資料庫中,最後使用PPT或其他工具將獲取的源唯信息展示出來。派橡
⑷ 用python編寫的獲取天氣預報的代碼總是有錯誤,求解
weatherinfo=r.json() #在json後面加上括弧才能返回結果。否則只能返回函數地址。
以下python3通過:
importrequests
ApiUrl="http://www.weather.com.cn/adat/cityinfo/101010100.html"
r=requests.get(ApiUrl)
weatherinfo=r.json()
print(weatherinfo["weatherinfo"]["ptime"])
print(weatherinfo["weatherinfo"]["temp2"])
>>>08:00
>>>5℃
⑸ 如何使用python利用api獲取天氣預報
試試這個:http://wthrcdn.etouch.cn/weather_mini?citykey=101210101
返回的數據是經過gzip壓縮的,如果你用urllib,需要先把獲取的二進制數據解壓,再解碼成字元串。用requests庫就方便多了,包括編碼都幫你自動解決,不需要自己操心。
順便推薦Chrome的JSON-Handle插件,查看JSON非常方便。
⑹ 用python獲取天氣預報的代碼出錯了,求解
前面的回答也足夠簡明了。
首先,找出出問題的代碼行數。
其次,找出出問題的變數。
你 print(type(變數名))你就可以發現該變數是 str字元串類型的,無法參與計算,所以你應該將它轉換成數值類型的,一般都用 float(變數名)來轉換,改完那一行報錯的行,就基本不用改別的了。
個人建議:
1. 你的 Python基礎似乎有些薄弱,最好好好學習一下基礎。其他模塊都需要這個基礎才能更好使用。
2.或許你可以看看 pandas。有時候做數據分析用 pandas可以節省很多代碼,特別對於剛學習 python的人來說,或許更加容易接受 pandas的特有語法。
財富值如果有的話應該給上面那個回答問題的人。因為他的答案是正確的。
⑺ python爬取天氣預報怎麼合並兩個網址的天氣預報
通過合並公式。python爬取天氣預報是通過合並公式來合並兩個網址的天氣預報的,Python的創始人為荷蘭人吉多·范羅蘇姆(GuidovanRossum)。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。
⑻ 如何使用python利用api獲取天氣預報
這個和用不用python沒啥關系,是數據來源的問題。調用淘寶API,使用 api相關介面獲得你想要的內容,我 記得api中有相關的介面,你可以看一下介面的說明。用python做爬蟲來進行頁面數據的獲取。希望能幫到你。
⑼ 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