谷歌抓取网页视频插件(《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。