一步一步教你PowerBI利用爬蟲獲取天氣資料分析

2022-07-03 12:06:10 字數 2523 閱讀 2186

提及爬蟲有些軟體工程師會第一時間想到python。python確實是非常方便的開發軟體,會附帶大量的依賴庫,可以非常簡單快速構建爬蟲應用程式目前有一些框架只需要寫提取規則就可以實現資料提取。我們這裡要講的爬蟲是針對powerbi軟體中建立的採集天氣資料爬蟲程式。很多行業會受天氣影響較大,如果能夠知道某地區的天氣資料歷史記錄,就可以讓銷售資料的維度更加豐富。從而給決策者判斷問題時做出更好的參考。接下來小黎子將以湖北省主要城市為例,帶領大家一起實現powerbi構建爬蟲抓取天氣資料歷史記錄。本案例的資料來源來自於網路-天氣後報,網頁中的資料最簡單的一種形式就是**。通過本文大家可以和我一樣實現下圖的天氣報告

一、分析**的url結構

1、確定城市列表url資料

我要分析的資料是湖北省主要城市的天氣,首先在天氣後報**中找到歷史天氣,點選進入後找到湖北省

2、確定城市的url資訊

開啟任意乙個城市的介面,可以單獨頁面內容為武漢市各年度歷史天氣列表。主要url中有wuhan字元。這裡我們可以確定每個城市的鏈結都存在著相同的規律。

3、確定月份的url資訊

點選上圖的任意月份,進入月份的天氣列表頁。通過分析url位址我們也可以看到規律。url中城市拼音加年月的變數可以獲得各個城市各個月份每天的天氣狀況。

二、構建爬蟲主體

在分析url過程中我們已經找到了網頁url的規律,因此,我們可以建立城市列表和日期列表。將兩個引數引入url,從而抓取城市不同時間的天氣資料。注意,歷史天氣資料是回顧過去的,天氣預報也是一樣的分析思路。

1、建立城市列表

2、建立日期列表

在城市列表中新增開始日期

結束日期

日期,注意這裡需要將日期轉換為數值,提取完成後再轉換為日期

展開日期列資料,將格式更改為日期型別

新增年月列

提取年和月資料用於後續切片器

刪除重複項

3、將我們處理好的資料賦值到url中

城市列表和日期列表都已經處理好了,下一步就是處理兩個列表和url的關聯關係

新建url自定義列

忽略隱私檢查

展開url列,選擇source和data列即可

展開data列,只保留前四列資料

刪除多餘的內容,篩選去除標題和空白行

拆分氣溫為最高和最低氣溫,按分隔符/拆分

去除溫度符號℃,用於轉換為數值

處理後到這裡我們已經完成了爬蟲的資料清洗工作,接下來就開始進入視覺化報告製作。

三、製作視覺化報告

1、製作年份,月份,城市切片器。城市切片器注意設定方向為水平方向

2、氣溫趨勢線

3、天氣明細矩陣表

4、區域地圖

大家可以根據自己的喜好調整不同的主題顏色

四、總結

我們順利完成了抓取湖北省各個城市的2023年的歷史天氣資料。在使用powerbi爬蟲應用時需要注意的點:

1、分析url規律是開始處理爬蟲的最重要的環節

2、通過powerbi輸入資料功能建立城市列表和使用m函式建立日期列表。

3、兩個列表結合處理url位址解析對應的天氣資料,通過web.contents提取網頁內容是爬蟲的核心內容。大家可以繼續延伸學習m函式的使用方法。

4、在後續的文章中也會出現少量的m函式使用,編輯器中會有智慧型提示告訴大家使用規則,大家也可以通過微軟官網檢視m函式的語法。

注意:powerbi爬蟲應用不只是能夠解析這種簡單的結構,目前有很多的**後台都是傳遞的json資料,powerbi也是可以應對的處理的,只是需要將json資料轉換為**。在後續的分析情景中我會進一步來講解爬蟲應用。

一步一步教你配置vnc

配置 vnc遠端桌面連線 1.在命令列輸入 init 3 進入純字元介面 2.kill 掉所有與 x有關的程序 用命令ps aux grep x 然後kill 程序號1 程序號2 只要找到的程序都 kill 掉 如果不會使用 kill 命令,直接重啟電腦 3.首先檢查 vncserver 是否安裝使...

教你 新手 一步一步開始SEO

如果你從事seo工作已經有段時間了,你可能對如何來優化乙個網頁有種直覺。你可能是同時來做好幾件事,而不是執行一步一步的過程。但是如果你是正在學習seo,或者是試圖去理解seo們是怎麼來做你的網頁的,那就顯得有些難度了,尤其當你第一次接觸這個的時候。這篇文章旨在幫助seo初學者們更多的了解seo的過程...

一步一步教你寫pdf檔案

pdf作為一種跨平台的檔案格式,越來越受到使用者的歡迎。現在除了adobe官方提供的pdflib有很多第三方的庫可以實現pdf的檔案建立 修改 格式轉換。pdf文件採用的是二進位制和文字混排的方式。近期專案需要,對pdf檔案的結構做了一些研究。最終,領導決定採用第三方庫,沒能用得上。在此,跟大家分享...