PowerBI也能做爬虫:爬取豆瓣Top电影排行榜
對于簡單的頁面數據爬取,其實使用PowerBI就可以可視化直接實現了,不需要另外寫爬蟲程序。本文以爬取豆瓣Top250電影排行榜示例說明下操作的基本過程。
一、分析URL規律及網頁結構
打開豆瓣電影Top 250 頁面:https://movie.douban.com/top250
觀察每頁有25部電影,總共10頁
觀察第二頁開始,URL的變化
第二頁https://movie.douban.com/top250?start=25&filter=
第三頁https://movie.douban.com/top250?start=50&filter=
……
每一頁請求的URL帶上參數start=25*(頁數-1)即可
二、獲取數據示例
首先需設置預覽功能:打開文件—選項,勾選新web表推理
輸入URL地址https://movie.douban.com/top250?start=0&filter=
PowerBI已經初步識別了頁面的數據
但是發現識別的數據不太準確,需要修改,點擊“使用示例添加表”進去手動識別調整
比如我們發現PowerBI自動識別的第2列“電影名”不對,只識別了其中一部分
新增我們需要爬取的列
在單元格輸入我們需要爬取的類型,PowerBI就會自動識別
輸入完后,發現第二行不是應是霸王別姬,但是沒有識別出來。
插入第二行,幫助系統識別規律。
同理,檢查其他行、列。
注意到界面一直提示“找不到下面一列或多列示例值得CSS選擇器:年代/國家/類型”
相關數據PowerBI提取不出來,原因是想要的這個數據,并不能用CSS表達式選擇得出來
使用火狐瀏覽器檢查下,并不能提取到CSS表達式。因此這類問題只能另想辦法了,比如擴大范圍抓取了,后續再做數據整理。
三、構建爬蟲函數
進去Power Query后臺,對查詢新建頁碼參數
將頁碼參數插入URL
設置源,將URL拆分成三段,為:
https://movie.douban.com/top250?start=
頁面
&filter=
創建函數:對電影查詢,右鍵創建函數
四、構建頁碼列表
新建空白查詢,使用List.Numbers(0,10,25)創建等差數列
將List轉換為表,并修改類型為文本
五、調用自定義函數
對新建的查詢調用自定義函數
展開列,即得到需要的數據
添加索引列,處理下排名
至此Top250電影數據爬取完畢
總結
以上是生活随笔為你收集整理的PowerBI也能做爬虫:爬取豆瓣Top电影排行榜的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rocketmq发送消息失败
- 下一篇: 蓝桥杯 基础练习 报时助手(c++)