3. PowerBI--网络爬虫

本篇文字以爬取起点中文网人气小说的作品为例进行讲解,如果利用PowerBI进行网络爬虫。
要爬取的是该部分全部的小说信息

观察URL规律

首先由于该部分的数据分布在不同的页面中,通过点击不同的页面按钮来查看URL的变化

页面 URL
第一页 https://www.qidian.com/all/page1/
第二页 https://www.qidian.com/all/page2/
第三页 https://www.qidian.com/all/page3/

由此可以看出不同页面下URL只会变化page后面的数字。

爬取总页数数据

爬取所有的页面数据,如下图所示

  • 点击"Get data"按钮,点击"Ohter",选择"Web",点击"Connect"

  • 输入任意一页的URL,点击"OK"

  • 点击"Add Tabel Using Examples"按钮
    由于页面中页面的数据并没有被PowerBI默认解析出来,此时就需要使用该功能

  • 人为录入前两行数据
    在第一行输入1,第二行输入2,这样PowerBI根据数据的内容和页面的解析结果做出推断,推断的结果由浅灰色表示。

此处输入的内容,要结合页面中的数据进行

  • 选择解析的数据表,点击"Load"按钮

爬取小说信息

重复执行获取"页面数据"的前两步。
此时PowerBI,通过观察发现Table1表中的数据就是我们需要的目标数据

  • 选择"Table1",点击"Load"

  • 点击"Transform data" 按钮

  • 选择"Table1"数据集,点击"Advanced Editor"

  • 修改其中的初始内容
    原内容如下:

    修改后的内容如下:

此步的主要目的就是根据之前观察的URL规律,将PowerBI原本解析网页的过程,转变为一个函数,通过传递不同的参数来获取不同的页面数据。

  • 为了方便使用将函数名进行变更

  • 切换至页数表,点击"Add Column"

  • 点击"Invoke Custom Column",为其添加自定义列。选择自定义的函数名,函数的实参所在的列名,点击"OK"

  • 点击"扩展"按钮,选择所有列,将所有的数据展示出来

这样就完成了所有数据的爬虫工作。

posted @ 2024-07-13 19:26  Python习者  阅读(30)  评论(0)    收藏  举报