API爬取天氣預報資料

2022-04-29 03:45:05 字數 2632 閱讀 4217

和風天氣api:

該**為個人開發者提供免費的天氣預報資料,自行訪問官網註冊,在控制台看到個人的key。

然後看api文件,基本可以開發了,有訪問次數限制。

import requests

import time

import pymongo

"""和風天氣api提供了3000多個城市的天氣預報,我們先獲取這些城市的cid,

再迴圈獲取3000個城市的天氣預報,

存入mongodb

"""#建立mongodb的連線

client=pymongo.mongoclient(host="localhost",port=27017)

#建立資料庫weather

book_weather=client['weather']

#在weather資料庫中建立集合:sheet_collection_1

#獲取city的cid	地區/城市id	cn101080402

#:獲取城市列表的url

url=""

#請求ulr

strhtml=requests.get(url)

strhtml.encoding='utf-8'

#返回字串內容,csv格式

data=strhtml.text

# print(data)

#轉為列表

data1=data.split('\r')

#去除前兩行標題頭

for i in range(2):

data1.remove(data1[0])

for item in data1:

# print(item[0:12])

weather_url=''+item[0:12].strip()+'&key=13e99fe03be0440cb9ff12e2edfe1ab6'

# print(weather_url)

weather_html=requests.get(weather_url)

weather_html.encoding="utf-8"

time.sleep(2)

# print(weather_html.text)

dic=weather_html.json()

city=dic["heweather6"][0]["basic"]["location"]

twt=dic["heweather6"][0]["now"]["tmp"]

ws=dic["heweather6"][0]["now"]["cond_txt"]

w_date=dic["heweather6"][0]["update"]["loc"]

#插入資料到mongodb中

sheet_weather.insert_one()

print("城市**:".format(item[0:12].strip()))

ubuntu@ubuntu:~$ rz -y

rz waiting to receive.

starting zmodem transfer. press ctrl+c to cancel.

transferring pymongo-3.10.1-cp37-cp37m-manylinux2014_x86_64.whl...

100% 451 kb 451 kb/sec 00:00:01 0 errors

#安裝pymongo

ubuntu@ubuntu:~$ pip3 install pymongo-3.10.1-cp37-cp37m-manylinux2014_x86_64.whl

defaulting to user installation because normal site-packages is not writeable

processing ./pymongo-3.10.1-cp37-cp37m-manylinux2014_x86_64.whl

installing collected packages: pymongo

successfully installed pymongo-3.10.1

#執行ubuntu@ubuntu:~$ nohup python get_city.py &

[1] 12938

#檢視,輸出

ubuntu@ubuntu:~$ tail -f nohup.out

城市**:cn101010100

城市**:cn101010200

城市**:cn101010300

城市**:cn101010400

城市**:cn101010500

城市**:cn101010600

ziheng 爬取天氣預報

import requests import city import time bj input 你想查詢哪個城市?most cold city 巴拉巴拉 most cold city wendu 100a 1for i in city.citycode.keys print 這是查詢的第 d個城市...

python用json解析爬取天氣預報資料

天氣預報 url 統一資源定位符 windows r cmd 開啟命令 輸入pip install requests 回車 import requests 引入python中內建的包 import json while 1 print 歡迎進入天氣查詢系統 city input 請輸入您要查詢的城市...

天氣預報 API

獲取城市編碼的url 1.通過 獲取省份列表 得01 北京,02 上海,03 天津,04 重慶,05 黑龍江,06 吉林,07 遼寧,08 內蒙古,09 河北,10 山西,11 陝西,12 山東,13 新疆,14 15 青海,16 甘肅,17 寧夏,18 河南,19 江蘇,20 湖北,21 浙江,2...