1. 程式人生 > >24.API爬天氣預報資料

24.API爬天氣預報資料

1.免費註冊API 地址: https://console.heweather.com/
必須要用IE瀏覽器開啟,註冊郵箱啟用,開啟控制檯,如圖:

認證key是訪問api的鑰匙

 

2.閱讀api說明開發文件

地址:https://www.heweather.com/documents/api/v5/url

 

可以看到免費的使用者只能訪問一個伺服器節點:

 
 

 

3.瞭解呼叫介面的方法
請求引數如下:
之後就需要拼接引數組成請求url
https://free-api.heweather.com/v5/weather?city=yourcity&key=yourkey

 

4.獲取城市ID程式碼
連結地址:https://cdn.heweather.com/china-city-list.txt
這裡資料是亂碼的,跟網頁編碼有關係。

 

5.獲取城市程式碼
# coding:utf-8
import requests
url = 'https://cdn.heweather.com/china-city-list.txt'
response = requests.get(url)
data = response.text
# print(data)
cont = data.split('\n')
# 去除頭部多餘標籤
for i in range(6): cont.remove(cont[0]) # print(cont) #迴圈遍歷,輸出id for j in cont: print(j[2:14])

執行效果如下:

 

6.拼接url完善程式碼

# coding:utf-8
import requests
import random,time
url = 'https://cdn.heweather.com/china-city-list.txt'
response = requests.get(url)
data = response.text
# print(data)
cont = data.split('\n') # 去除頭部多餘標籤 for i in range(6): cont.remove(cont[0]) # print(cont) #迴圈遍歷,輸出id for j in cont: # print(j[2:14])= link_url= 'https://free-api.heweather.com/v5/weather?city={}'.format(j[2:14])+'&key=a3a4f84e9d68491e8b2e9d61c61df7c2' print(link_url) html = requests.get(link_url) time.sleep(random.randint(1,2)) print(html.text)

程式碼報錯:

是由於網站把這個藉口給關閉了,已經無法使用,但呼叫api介面的方式大概就是這樣。

模擬獲取請求引數拼接請求url去獲取資料,其實就和使用代理ip差不多。