谷歌抓取网页视频插件(《Chrome扩展程序crx的导出与安装通用方法步骤》)

优采云 发布时间: 2022-03-09 23:13

  谷歌抓取网页视频插件(《Chrome扩展程序crx的导出与安装通用方法步骤》)

  博主通过Python先后学习了爬虫基础、两个基础库(urllib库、requests库)、三大解析库(XPath库、Beautiful Soup库、pyquery库)和Selenium库后,测试了谷歌插件Web刮刀。爬网,发现这个小插件上手非常简单。因此,博主经过十分钟的学习,立即爬取了哔哩哔哩数据进行测试,并记录在了本篇博客中。

  内容

  什么是网络爬虫?

  Web Scraper 是一个 Chrome 浏览器插件,可以自动处理网页上的 采集 数据。

  Web Scraper相当于封装爬虫,是程序封装的工具。即使是零基础,没有计算机知识的人,也可以通过Web Scraper抓取他们可以看到的网页数据。

  但是,作为一个小工具,它自然有它的局限性。网络爬虫不适合下载大量图片,暂时只支持excel格式导出。它不像代码编写爬虫那样灵活方便。

  网络刮刀安装指南

  Web Scraper 作为 Chrome 浏览器插件,一般可以安装在 Google Play Store 中。如果频道下载了,可以联系博主。根据感兴趣的朋友数量,博主将Web Scraper的.crx插件打包发送到评论区。具体crx插件安装方法可以参考博主另一篇博文:玩弄Chrome插件?快来康康的文章《Chrome扩展crx插件导出安装通用方法步骤》!

  Web Scraper 爬取B站榜单TOP100

  1.右击bilibili TOP100页面,选择Check,调出开发者工具。单击 Web Scraper,然后从创建新站点地图下拉菜单中选择创建站点地图。(如果你有Sitemap Json,可以点击Import Sitemap直接导入Sitemap Json模板)

  

  2.输入Sitemap name(项目名称)和Start URL(web链接URL),点击Create Sitemap新建一个项目。(本次实战中的Start URL,即网页链接不需要重定向,如果有分页,需要考虑换页问题)

  

  3.单击添加新选择器。

  4.进入Create New Selector页面后,首先选择一个Type(选择器类型),我们先选择Element(元素)。之所以选择元素,是因为我们要选择网页的这一部分。

  然后单击选择并将鼠标指针移到网页元素上。

  

  

  这里需要注意:以上两个选项是不同的。鼠标指针必须移动到元素的边缘(“1”被一个绿色的小方块覆盖),否则里面的排名“1”不会被提取出来。

  

  因为我们的 TOP100 列表有 100 条数据,所以我们需要以同样的方式选择第二个元素。这样,网页将自动帮助选择所有 100 个元素。

  

  我们单击完成选择以自动将匹配写入选择器。由于我们需要同时选择多个元素,所以需要勾选Multiple。最后,输入 id 名称并单击保存选择器。

  

  5.点击元素TOP100进入元素TOP100。这时候我们需要分别取出元素中的每个小元素块:序号、作品名、观看人数、评论数、作者姓名、综合评分。

  

  

  6.首先我们取出“序列号”。点击 Add new selector,Id 输入“Work Ranking”(因为“Serial Number”太短,Id 名称无法写入报表警告,所以 Id 改为“Work Ranking”),Type type 使用默认的 Text(文本选择器)。单击选择并选择序列号“1”。单击 Dne 选择以自动将选定的匹配代码添加到选择器。

  

  

  注意:由于小元素块的选择是在元素内进行的,所以不需要勾选Multiple。

  只需单击保存选择器即可保存选择器。

  7.这时候我们可以看到多了一个id是TOP100中作品排名的selector。如果此时要确认我们刚要抓取的序列号是否已经被抓取,可以点击数据预览。

  我们可以看到序列号数据爬取成功。

  

  8.爬取完成作品排名后,我们以同样的方式重复6的操作步骤,分别爬取作品名、观看人数、评论数、作者名, 和综合名称。通过第7步,可以检查数据爬取是否成功。

  至此,我们完成了B站TOP100榜单的所有数据。

  

  9.点击_root返回项目根目录,点击数据预览,观察B站TOP100页面的爬取内容信息。

  

  至此,我们就完成了排行榜的爬取。

  二、 抓取每个视频的发布时间、点赞数、*敏*感*词*和采集夹

  1.点击TOP1视频进入视频页面,观察页面,接下来我们要选择的是视频的发布时间,点赞数,币数,采集数.

  

  这里第一步是点击标题进入视频,然后选择数据。

  因此,我们先点击TOP100进入TOP100,然后点击Add new selector,新建一个selector。

  这时候我们Id输入link表示链接,Type选择Link类型,然后点击Select,在网页中选择TOP1的标题,点击Done select自动将匹配的代码写入Selector。单击保存选择器以保存选择器。

  

  2.此时,我们需要在点击的链接链接中进行操作,即点击链接进入链接。

  

  我们可以选择在新打开的视频页面右击打开开发者工具,在Web Scraper中输入TOP100项目的链接。

  

  3.点击新增选择器,重复全站TOP100爬取第6步,分别爬取:发布时间、点赞数、币数、采集数。

  如果点击的时候不小心点到了币或者采集的弹窗,取消选择就可以继续了。

  

  选择完成后,可以点击数据预览,观察每个数据的选择是否成功。

  选择成功后,我们就可以开始运行爬虫了。

  三、爬虫运行

  1.点击Sitemap bilibili_top中的Selector图,可以查看爬虫的爬取路径图(爬虫逻辑图)。代码爬取也是如此,但效率会比插件快。

  

  

  2.爬虫项目写好后,点击Sitemap bilibili_top中的Scrape,运行爬虫项目。此时Scrape中有Request interval(请求间隔时间)和Page load delay(页面加载完成后的延迟时间)。

  

  当我们加载页面时,我们一开始看不到点赞数、*敏*感*词*数和采集数。它们是 B 站通过 Ajax 请求发送的响应数据。我们需要调整的主要是Page load delay,具体值可以根据自己的网速调整。因为博主网速差,之前设置延迟5000有时会爬不出来数据,所以选择设置7000(7秒)。

  点击开始抓取,爬虫项目会自动弹出一个新页面,像真人一样自动抓取我们需要的数据。

  这里弹出谷歌页面,自动访问B站TOP100榜单的底层代码。如果是Python,使用爬虫中的Selenium来模拟网页的动作。

  3.在爬取过程中,我们点击引用刷新,页面会立即返回到目前为止已经爬取的数据。我们可以点击Refresh Data不断刷新。

  

  四、数据导出

  1.如果我们的数据已经被爬取过,您可以在Sitemap bilibili_top中点击Export data as CSV,将其导入到excel表格中。点击立即下载,Google会自动下载已经抓取的Excel数据表。

  

  2.此时,我们发现 Excel 工作表没有按顺序排列。我们可以选择C列,点击数据中的排序,确认。选择主要关键词,以升序排列作品。

  

  数据整理完毕。

  

  防范措施

  1.通过Web Scraper爬取数据如果爬到一半不想继续爬,又想保留已经抓到的数据,可以断网。断开网络后,Web Scraper 检测到网络没有响应,会自动关闭并保存捕获的数据。或者,在Chrome调试中点击开发者工具中的网络,勾选离线在线,完成断线。

  2.使用CSS伪类抓取固定数量的数据并停止:在Element的Selector后面加上(-n+number)。如果只抓取50条数据,则将数字改为50。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线