一.網(wǎng)頁結(jié)構(gòu)與URL的規(guī)律
豆瓣電影的網(wǎng)址為https://movie.douban.com/top250 ,第一頁的網(wǎng)址為https://movie.douban.com/top250?start=0&filter=;
powerbi從web網(wǎng)址獲取數(shù)據(jù)一般需要確認(rèn)網(wǎng)址規(guī)律,即:了解從哪里抓取,抓取的網(wǎng)頁有哪些特點,是否有統(tǒng)一規(guī)律。

image.png

image.png
通過觀察這個網(wǎng)址的首頁,可以看出每個頁面排布著25個電影,總共10頁,分頁展示250部電影。切換不同頁時,只有網(wǎng)址中間的“start=0”在變化,每一頁的URL中數(shù)字呈現(xiàn)等差數(shù)列變化。
二.構(gòu)建爬蟲函數(shù)
2.1.獲取一頁數(shù)據(jù)
首先用豆瓣電影第一頁的數(shù)據(jù),powerbi面板選擇從Web獲取數(shù)據(jù),url先填寫https://movie.douban.com/top250?start=0&filter= 。

image.png
接下來導(dǎo)航器中會直接提取出所獲取的表格。

112.png
此時獲取的數(shù)據(jù)表列明缺失,需要去power query中稍微處理下。

image.png
此時,網(wǎng)址第一頁,25部電影就已經(jīng)獲取下來了,接下需要在此基礎(chǔ)上,構(gòu)建參數(shù)與函數(shù)。
2.2 構(gòu)建參數(shù)與函數(shù)
在power query界面的參數(shù)管理下選擇新建參數(shù),構(gòu)建一個頁碼參數(shù)。設(shè)置成從0開始的文本即可。

113.png
在power query界面剛才生成的一張表叫表1,現(xiàn)在修改表1的數(shù)據(jù)源,讓其url鏈接包含頁碼參數(shù)。

114.png
選擇高級,此時會將整個url拆分開,將中間頁碼部分替換成剛才新建的參數(shù)。

115.png
接下來需要選中表1,單擊右鍵創(chuàng)建名為“Top電影提取”的函數(shù)。

116.png
構(gòu)建完成后,在左側(cè)會出現(xiàn)以下界面。

image.png
2.3 構(gòu)建頁碼列表
在新建空查詢下面,使用List.Numbers(0,10,25)創(chuàng)建一個list.

117.png
右鍵選項到表,將這個list轉(zhuǎn)換成表格,接下來可以改個列明,重點注意需要將字段格式設(shè)置成文本。

image.png
接下來在這個表里面添加列,選擇用查詢添加列。

119.png
完成添加列之后如下所示。

image.png
可以看出,每個頁碼都查詢出一個table,擴(kuò)展查詢到的表。

121.png
點擊確定即可,最終就可以得到完整的250部電影列表了。
最后結(jié)果如下。

122.png