国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】實現(xiàn)爬蟲(完整版),爬取天氣數(shù)據(jù)并進行可視化分析

這篇具有很好參考價值的文章主要介紹了【Python】實現(xiàn)爬蟲(完整版),爬取天氣數(shù)據(jù)并進行可視化分析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??????大家好呀,你們的作業(yè)俠又轟轟轟的出現(xiàn)了,這次給大家?guī)淼氖莗ython爬蟲,實現(xiàn)的是爬取某城市的天氣信息并使用matplotlib進行圖形化分析??????

要源碼可私聊我。

大家的關(guān)注就是我作業(yè)俠源源不斷的動力,大家喜歡的話,期待三連呀??????

往期源碼回顧:

【Java】實現(xiàn)繪圖板(完整版)
【C++】圖書管理系統(tǒng)(完整板)
【Java】實現(xiàn)計算器(完整版)

有需要的小伙伴自取哦!

進入今天的正題:

爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言

1.實現(xiàn)需求:

從網(wǎng)上(隨便一個網(wǎng)址,我爬的網(wǎng)址會在評論區(qū)告訴大家,dddd)獲取某一年的歷史天氣信息,包括每天最高氣溫、最低氣溫、天氣狀況、風向等,完成以下功能: (1)將獲取的數(shù)據(jù)信息存儲到csv格式的文件中,文件命名為”城市名稱.csv”,其中每行數(shù)據(jù)格式為“日期,最高溫,最低溫,天氣,風向”; (2)在數(shù)據(jù)中增加“平均溫度”一列,其中:平均溫度=(最高溫+最低溫)/2,在同一張圖中繪制兩個城市一年平均氣溫走勢折線圖; (3)統(tǒng)計兩個城市各類天氣的天數(shù),并繪制條形圖進行對比,假設適合旅游的城市指數(shù)由多云天氣占比0.3,晴天占比0.4,陰天數(shù)占比0.3,試比較兩個城市中哪個城市更適合旅游; (4)統(tǒng)計這兩個城市每個月的平均氣溫,繪制折線圖,并通過折線圖分析該城市的哪個月最適合旅游; (5)統(tǒng)計出這兩個城市一年中,平均氣溫在18~25度,風力小于5級的天數(shù),并假設該類天氣數(shù)越多,城市就越適宜居住,判斷哪個城市更適合居?。?

爬蟲代碼:

import random
import time

from spider.data_storage import DataStorage
from spider.html_downloader import HtmlDownloader
from spider.html_parser import HtmlParser


class SpiderMain:
    def __init__(self):
        self.html_downloader=HtmlDownloader()
        self.html_parser=HtmlParser()
        self.data_storage=DataStorage()
    def start(self):
        """
        爬蟲啟動方法
        將獲取的url使用下載器進行下載
        將html進行解析
        數(shù)據(jù)存取

        :return:
        """


        for i in range(1,13):  # 采用循環(huán)的方式進行依次爬取
            time.sleep(random.randint(0, 10))  # 隨機睡眠0到40s防止ip被封
            url="XXXX"
            if i<10:
               url =url+"20210"+str(i)+".html"  # 拼接url
            else:
                url=url+"2021"+str(i)+".html"
            html=self.html_downloader.download(url)
            resultWeather=self.html_parser.parser(html)
            if i==1:
             t = ["日期", "最高氣溫", "最低氣溫", "天氣", "風向"]
             resultWeather.insert(0,t)
            self.data_storage.storage(resultWeather)

if __name__=="__main__":
    main=SpiderMain()
    main.start()
import requests as requests



class HtmlDownloader:
    def download(self,url):
        """
        根據(jù)給定的url下載網(wǎng)頁
        :param url:
        :return: 下載好的文本
        """

        headers = {"User-Agent":
                       "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"}



        result = requests.get(url,headers=headers)

        return result.content.decode('utf-8')

此處大家需要注意,將User-Agent換成自己瀏覽器訪問該網(wǎng)址的,具體如何查看呢,其實很簡單,只需大家進入網(wǎng)站后,右鍵網(wǎng)頁,然后點擊檢查將出現(xiàn)這樣的界面:
爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言然后只需再點擊網(wǎng)絡,再隨便點擊一個請求,如下圖:
爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言就可以進入如下圖,然后再復制,圖中User-Agent的內(nèi)容就好了!

爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言
繼續(xù):

from bs4 import BeautifulSoup


class HtmlParser:


    def parser(self,html):
        """
        解析給定的html
        :param html:
        :return: area set
        """


        weather = []
        bs = BeautifulSoup(html, "html.parser")
        body = bs.body  # 獲取html中的body部分
        div = body.find('div', {'class:', 'tian_three'})  # 獲取class為tian_three的<div></div>
        ul = div.find('ul')  # 獲取div中的<ul></ul>
        li = ul.find_all('li')  # 獲取ul中的所有<li></li>
        for l in li:
            tempWeather = []
            div1 = l.find_all("div")  # 獲取當前l(fā)i中的所有div
            for i in div1:
                tempStr = i.string.replace("℃", "")  # 將℃進行替換
                tempStr = tempStr.replace(" ", "")  # 替換空格
                tempWeather.append(tempStr)
            weather.append(tempWeather)
        return weather

import pandas as pd


class DataStorage:
    def storage(self,weather):
        """
        數(shù)據(jù)存儲
        :param weather list
        :return:
        """
        data = pd.DataFrame(columns=weather[0], data=weather[1:])  # 格式化數(shù)據(jù)
        data.to_csv("C:\\Users\\86183\\Desktop\\成都.csv", index=False, sep=",",mode="a")  # 保存到csv文件當中

注意,文件保存路徑該成你們自己的哦!
ok,爬取代碼就到這,接下來是圖形化效果大致如下:
爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言
爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言
爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言
爬取天氣數(shù)據(jù)并可視化,作業(yè),python,爬蟲,開發(fā)語言

代碼如下:

需要完整源碼,只需5元, 需要請加位心:ch18384322303,備注:xx源碼

好的這次就到這兒吧,我們下次見哦?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-754628.html

到了這里,關(guān)于【Python】實現(xiàn)爬蟲(完整版),爬取天氣數(shù)據(jù)并進行可視化分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • python爬取天氣數(shù)據(jù)并做可視化分析

    python爬取天氣數(shù)據(jù)并做可視化分析

    歷史天氣數(shù)據(jù)schema { ‘當日信息’:\\\'2023-01-01 星期日\\\', \\\'最高氣溫\\\': 8℃\\\'\\\', \\\'最低氣溫\\\': \\\'5℃\\\', ‘天氣’: \\\'多云\\\', \\\'風向信息\\\':\\\'北風 3級\\\' } 1.導入庫 2.對程序進行偽裝 3.抓取天氣數(shù)據(jù) 在數(shù)據(jù)存儲前,對數(shù)據(jù)進行處理,便于后期的數(shù)據(jù)分析。將上面的“當天信息”字段拆分為“日期”

    2024年02月04日
    瀏覽(24)
  • Python--爬取天氣網(wǎng)站天氣數(shù)據(jù)并進行數(shù)據(jù)分析

    Python--爬取天氣網(wǎng)站天氣數(shù)據(jù)并進行數(shù)據(jù)分析

    ?目的:從天氣網(wǎng)站中爬取數(shù)據(jù),生成excel表格,里面存儲南昌市近十一年的天氣情況,并對爬取產(chǎn)生的數(shù)據(jù)進行數(shù)據(jù)分析。 ? 第一步:編寫代碼進行數(shù)據(jù)爬取 首先,導入 requests 模塊,并調(diào)用函數(shù) requests.get(),從天氣的網(wǎng)站上面獲 取該函數(shù)所需要的各種參數(shù),然后對里面的參

    2024年02月04日
    瀏覽(21)
  • Flask+echarts爬取天氣預報數(shù)據(jù)并實現(xiàn)可視化

    Flask+echarts爬取天氣預報數(shù)據(jù)并實現(xiàn)可視化

    右鍵新建一個crawl.py文件,代碼如下,將爬取到的數(shù)據(jù)存儲到tianqi.txt文件中, 右鍵新建一個flask01.py的文件,對爬取到的數(shù)據(jù)進行讀取,并轉(zhuǎn)換為列表類型,傳遞給index.html頁面,echarts的圖表樣例負責接收并渲染,代碼如下, 在根目錄下,新建一個名為templates目錄,該目錄名

    2024年02月11日
    瀏覽(26)
  • 畢業(yè)設計:python全國天氣氣象數(shù)據(jù)爬取分析可視化系統(tǒng)+大屏+大數(shù)據(jù)(源碼+文檔)

    畢業(yè)設計:python全國天氣氣象數(shù)據(jù)爬取分析可視化系統(tǒng)+大屏+大數(shù)據(jù)(源碼+文檔)

    博主介紹:?全網(wǎng)粉絲10W+,前互聯(lián)網(wǎng)大廠軟件研發(fā)、集結(jié)碩博英豪成立工作室。專注于計算機相關(guān)專業(yè)畢業(yè)設計項目實戰(zhàn)6年之久,選擇我們就是選擇放心、選擇安心畢業(yè)? 畢業(yè)設計:2023-2024年計算機專業(yè)畢業(yè)設計選題匯總(建議收藏) 畢業(yè)設計:2023-2024年最新最全計算機專

    2024年02月02日
    瀏覽(43)
  • Python爬取天氣數(shù)據(jù)并進行分析與預測

    Python爬取天氣數(shù)據(jù)并進行分析與預測

    隨著全球氣候的不斷變化,對于天氣數(shù)據(jù)的獲取、分析和預測顯得越來越重要。本文將介紹如何使用Python編寫一個簡單而強大的天氣數(shù)據(jù)爬蟲,并結(jié)合相關(guān)庫實現(xiàn)對歷史和當前天氣數(shù)據(jù)進行分析以及未來趨勢預測。 1 、數(shù)據(jù)源選擇 選擇可靠豐富的公開API或網(wǎng)站作為我們所需的

    2024年02月09日
    瀏覽(26)
  • 【數(shù)據(jù)可視化】通過使用網(wǎng)絡爬蟲對數(shù)據(jù)爬取并進行可視化分析

    【數(shù)據(jù)可視化】通過使用網(wǎng)絡爬蟲對數(shù)據(jù)爬取并進行可視化分析

    ??本次項目所爬取的網(wǎng)頁為柳州職業(yè)技術(shù)學院電子信息工程學院的超星學習通課程中心。在該網(wǎng)頁中可以查看到電子信息工程學院歷年的超星課程創(chuàng)建情況,還可以進入到課程界面查看相應的教學資源。 ??在該網(wǎng)頁中,詳細記錄了課程序號、課程名稱、課程鏈接、所屬院

    2024年02月04日
    瀏覽(17)
  • 爬蟲入門指南(8): 編寫天氣數(shù)據(jù)爬蟲程序,實現(xiàn)可視化分析

    爬蟲入門指南(8): 編寫天氣數(shù)據(jù)爬蟲程序,實現(xiàn)可視化分析

    天氣變化是生活中一個重要的因素,了解天氣狀況可以幫助我們合理安排活動和做出決策。本文介紹了如何使用Python編寫一個簡單的天氣數(shù)據(jù)爬蟲程序,通過爬取指定網(wǎng)站上的天氣數(shù)據(jù),并使用Matplotlib庫對數(shù)據(jù)進行可視化分析。通過這個例子,我們不僅可以學習Python的相關(guān)庫

    2024年02月12日
    瀏覽(32)
  • python+pyecharts+flask+爬蟲實現(xiàn)實時天氣查詢可視化

    python+pyecharts+flask+爬蟲實現(xiàn)實時天氣查詢可視化

    本項目使用python語言編寫,采用Flaskweb框架來實現(xiàn)前后端交互,利于開發(fā),維護,前端使用Html和jQuery處理事件,發(fā)送數(shù)據(jù)等,后端采用requests庫,BeautifulSoup庫實現(xiàn)爬取中國氣象局的數(shù)據(jù),清洗轉(zhuǎn)化成對應表格數(shù)據(jù)格式,再使用pyecharts繪制圖形,返回給前端頁面實現(xiàn)實時展示,

    2024年02月03日
    瀏覽(45)
  • 【爬蟲、數(shù)據(jù)可視化實戰(zhàn)】以“人口”話題為例爬取實時微博數(shù)據(jù)并進行輿情分析

    【爬蟲、數(shù)據(jù)可視化實戰(zhàn)】以“人口”話題為例爬取實時微博數(shù)據(jù)并進行輿情分析

    近期在weibo上討論的比較熱的話題無非就是“人口”了。TaoTao也看了一些大家發(fā)的內(nèi)容。但是感覺單純的看文字內(nèi)容不能很直觀的反應出來大家的關(guān)切。索性就使用爬蟲對數(shù)據(jù)進行爬取,同時結(jié)合著數(shù)據(jù)可視化的方式讓數(shù)據(jù)自己開口說話。那么接下來就讓我們使用技術(shù)進行分

    2024年01月23日
    瀏覽(27)
  • python 爬蟲爬取天氣

    python 爬蟲爬取天氣

    爬蟲5步曲: 1.安裝requests and beacutifulsoup4庫 2.獲取爬蟲所需的header 和cookie 3.獲取網(wǎng)頁,解析網(wǎng)頁 4.分析得到的數(shù)據(jù)簡化地址 5.爬取內(nèi)容,清洗數(shù)據(jù) 1.安裝requestsbeautifulsoup4 ????????pip3 install requests ????????pip3 install beautifulsoup4 2.獲取爬蟲所需的header 和cookie 打開想爬取的

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包