Power Query可以連接到網頁並從那里獲取數據。但是,從網頁獲取數據的默認方式不會將圖像提取到報表中。在本文中,我將向您展示一種方法,您可以使用該方法從網頁獲取圖像並將其轉換為Power BI中的可視化。
樣本來源
對於此示例,我使用豆瓣電影排行榜作為源。您可以在此處訪問它:https://movie.douban.com/chart
您可以在下面看到該頁面的外觀。我們在這個例子中想要做的是將這些圖像放入我們的Power BI報告中。
從Web獲取數據
您可以在Power BI中使用從Web獲取數據。
輸入網址,並點擊確認,我們就可以看到如下的導航器。我們選擇編輯進入我們的Power Query界面。
編輯查詢
現在我們需要做的第一件事是刪除所有額外的步驟。只留下從該頁面讀取數據的第一步。將第一步的步驟替換成如下代碼:
" = Web.BrowserContents("https://movie.douban.com/chart")"
我們就可以得到整個HTML頁面的信息。
然后將其轉換為表格:
下一步就是我們的重頭戲,即如何搜索圖像的HTML代碼。
查找頁面中圖像的HTML代碼
有不同的工具和方法可以找到圖像的HTML代碼。我經常使用Google瀏覽器來查找,按F12打開我們的調試器,然后通過元素選擇器來選取我們圖片,來查看我們網頁的結構信息。
使用HTML代碼中斷數據
在上一步我們得到網頁的結構信息,然后我們可以在Power Query中應用一些轉換來實現該功能。
我的第一步是拆分所有電影的信息。直接使用按分隔符拆分列功能,將<tbody><tr>做為我們的分隔符。拆分位置選項設置為每次出現分隔符時,拆分為選項設置為行。
這會給每部電影提供一行數據,除了的第一行應該刪除。您可以使用刪除最前面幾行,然后將排在前1行來刪除它。
現在讓我們進入表格的圖像部分。圖像位於“<img src="”和“" width="75"”內。(對於其他網頁,這種組合當然會有所不同)
所以我們需要做的就是提取分隔符之間的文本:
在這里,我們獲得該表中所有圖像的URL:
您可以使用相同的方法來獲取這些電影的其他部分,例如標題,評分,票房,演員等信息。在這里由於操作的重復性就不一一講解了,直接看我們最終得到的表格:
我必須將此字段的數據類別設置為圖像URL:
現在我們的Power BI報告里面就可以使用圖像了:
案例獲取
想要獲取該案例文章的源文件的朋友們,請留言。