亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python爬蟲如何爬取天氣預報表

發布時間:2020-11-20 09:26:29 來源:億速云 閱讀:245 作者:小新 欄目:編程語言

小編給大家分享一下python爬蟲如何爬取天氣預報表,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1 構造URL列表

每個月份的歷史天氣數據是通過一個 Javascript 文件獲取的。因此,我們需要構造帶爬取數據的 URL 列表,再批量爬取數據。

# 構造2019全年的月份列表
months = []
for year in (2019,):
    for month in range(12):
        months.append("%d%02d"%(year, month+1))
todo_urls = [
    "http://tianqi.2345.com/t/wea_history/js/"+month+"/58457_"+month+".js"
    for month in months
]

2 批量下載數據

使用 requests 庫獲取 js 文件中的數據,并存到 datas 變量中。

import requests
datas = []
for url in todo_urls:
    r = requests.get(url, headers = headers)
    if r.status_code!=200:
        raise Exception()
    # 去除javascript前后的字符串,得到一個js格式的JSON
    data = r.text.lstrip("var weather_str=").rstrip(";")
datas.append(data)

3 解析數據

我們從 js 文件獲取的數據 json 格式存儲的,需要使用 demjson 對數據進行解析。

# 解析所有月份的數據
all_datas = []
 
for data in datas:
    tqInfos = demjson.decode(data)["tqInfo"]
all_datas.extend([x for x in tqInfos if len(x)>0])

4 將結果導入 csv 文件

import csv
with open('./hangzhou_tianqi_2019.csv', 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file)
    columns = list(all_datas[0].keys())
    writer.writerow(columns)
    
    for data in all_datas:
        writer.writerow([data[column] for column in columns])

5 結果展示

python爬蟲如何爬取天氣預報表

以上是python爬蟲如何爬取天氣預報表的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉林市| 墨玉县| 乌恰县| 沂南县| 江口县| 蒙自县| 特克斯县| 靖西县| 旌德县| 承德市| 陈巴尔虎旗| 龙山县| 屏东县| 华阴市| 长泰县| 枞阳县| 手游| 鞍山市| 奉新县| 福州市| 抚远县| 华安县| 濮阳县| 城步| 盐津县| 都江堰市| 蓬安县| 达尔| 炎陵县| 岳普湖县| 剑川县| 缙云县| 婺源县| 行唐县| 大田县| 西丰县| 商南县| 尼木县| 甘谷县| 镇赉县| 滦平县|