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

溫馨提示×

溫馨提示×

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

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

如何用Python爬取天氣數據

發布時間:2022-10-10 17:12:57 來源:億速云 閱讀:207 作者:iii 欄目:web開發

本篇內容主要講解“如何用Python爬取天氣數據”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何用Python爬取天氣數據”吧!

一、[知識點]:

   動態數據抓包

   requests發送請求

   結構化+非結構化數據解析

二、[開發環境]:

   python 3.8               運行代碼

   pycharm 2021.2           輔助敲代碼

   requests                 第三方模塊  pip install 模塊名

四、配置pycharm里面的python解釋器

  1. 選擇file(文件) >>> setting(設置) >>> Project(項目) >>> python interpreter(python解釋器)

2. 點擊齒輪, 選擇add

3. 添加python安裝路徑

五、pycharm如何安裝插件

  1. 選擇file(文件) >>> setting(設置) >>> Plugins(插件)

  2. 點擊 Marketplace  輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese

  3. 選擇相應的插件點擊 install(安裝) 即可

  4. 安裝成功之后 是會彈出 重啟pycharm的選項 點擊確定, 重啟即可生效


三、分析數據來源

   https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D=2022&date%5Bmonth%5D=7

四、代碼實現

   1. 發送請求

   2. 獲取數據

   3. 解析數據

   4. 保存數據

import requests         # 發送請求 第三方模塊
import parsel           # 解析網頁源代碼的 第三方模塊
import csv

with open('天氣數據.csv', encoding='utf-8', mode='a', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow(['日期', '最高溫度', '最低溫度', '天氣', '風向', '城市'])
city_list = [54511, 58362, 59287, 59493]
for city in city_list:
    for year in range(2013, 2022):
        for month in range(1, 13):
            url = f'https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D={year}&date%5Bmonth%5D={month}'
            # 1. 發送請求
            response = requests.get(url)
            # <Response [200]>
            # 2. 獲取數據  .json(): 字典類型的數據 鍵值對方式取值
            json_data = response.json()
            # 3. 解析數據
            # 字典取值  json(): {"":"", "":""}
            html_data = json_data['data']
            # 結構化數據 字典鍵值對取值
            # 非結構化數據 網頁源代碼 css/xpath/re
            select = parsel.Selector(html_data)
            trs = select.css('table tr')        # 32個tr  每個tr都有六個td
            # [1, 2, 3, 4, 5]   [1]
            for tr in trs[1:]:
                # 取標簽里面的文本內容
                # ::text
                tds = tr.css('td::text').getall()
                print(tds)
                if city == 54511:
                    tds.append('北京')
                elif city == 58362:
                    tds.append('上海')
                elif city == 59287:
                    tds.append('廣州')
                elif city == 59493:
                    tds.append('深圳')
                # 4. 保存數據
                with open('天氣數據.csv', encoding='utf-8', mode='a', newline='') as f:
                    csv_writer = csv.writer(f)
                    csv_writer.writerow(tds)

到此,相信大家對“如何用Python爬取天氣數據”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

项城市| 襄汾县| 安丘市| 定结县| 高台县| 乐山市| 大厂| 京山县| 宁陕县| 霍林郭勒市| 班戈县| 桦甸市| 江永县| 石门县| 精河县| 杭锦后旗| 祁门县| 梁山县| 蒙山县| 鹤庆县| 卓尼县| 会泽县| 宽甸| 双鸭山市| 济阳县| 乐亭县| 华池县| 通城县| 临澧县| 嵊州市| 安多县| 开封市| 乌恰县| 赣州市| 泽普县| 老河口市| 邯郸县| 定南县| 阿合奇县| 濮阳市| 资中县|