写点什么

B 站专栏内页数据如何抓取,Web Scraper 学习在进一步,无编码学爬虫之五

发布于: 2021 年 03 月 04 日
B站专栏内页数据如何抓取,Web Scraper 学习在进一步,无编码学爬虫之五

今天是持续写作的第 <font color="red">20</font> / 100 天。

如果你有想要交流的想法、技术,欢迎在评论区留言。


平时在编写爬虫的时候,经常碰到需要抓取内页数据的场景,对于 Web Scraper 来说,通过简单的配置也可以实现对内页数据的抓取。


**此系列教程涉及图片比较多,学习的时候大量的依赖实操,所以在后续本系列内容将转换为视频载体提供给大家**



<center><font color=red>缓解一下视疲劳</font></center>


目标网站分析


今天要抓取的页面是哔哩哔哩专栏,目标是各文章里面的图片地址。参考网址为:https://www.bilibili.com/read/home


我们需要获取到的就是每篇文章的标题,作者,以及里面的图片。



创建 sitemap 与选择器


因为我们爬取的是列表页,但是核心的数据在内页,这种情况下需要获得标题点击之后的页面,提前获得标题链接。具体设置如下:

selector 的 Type 选择 Link。


设置完毕之后,选择器内容依次如下,这里注意一个小问题,就是 ID 为 items 的选择器,你在页面中勾选的时候,nth-of-type 其实是编程语言中的 CSS 兄弟选择器,在选择的时候非常容易出现问题,这个小坑以后在视频课中为大家解决吧。


标题链接选择器设置如下。

内页相关数据的选择器。


在选择图片的时候,有时会被挡住,需要注意挪动一下,才能点击到 Done selecting 按钮。

对于图片的选择,Type 需要设置为 Image,还有由于文章中图片是多个,所以 Multiple 需要勾选,实际测试中发现 Web Scraper 爬取内页文本数据还可以,对于图片解析还是差了一些,如果你想要爬取所有图片,需要在内页在嵌套一层,为何要嵌套呢?因为你需要尽可能的让内页所有的图片都加载完毕再获取图片。


由于上述原因导致爬虫的结果如图,下图中发现 link 里面又嵌套了一层 container,该层实现的滚动到页面底部。


在爬取的过程中尽量的不要去看爬取过程了,浏览器晃悠的眼睛晕了。如果你真的想要爬取网页图片,那橡皮擦建议你还是好好学习一下 Python 爬虫,要不还是不要爬取图片的好。

数据获取到之后,顺序是乱掉的,在 Excel 里面稍微排序即可。


Web Scraper 脚本分享


你可以直接导入下面我提供的脚本,然后在 Web Scraper 中进行爬取与学习。


{"_id":"bilibili_imgs","startUrl":["https://www.bilibili.com/read/home"],"selectors":[{"id":"items","type":"SelectorElementScroll","parentSelectors":["_root"],"selector":"div.article-item:nth-of-type(-n+10)","multiple":true,"delay":"1000"},{"id":"link","type":"SelectorLink","parentSelectors":["items"],"selector":"a.article-title-holder","multiple":false,"delay":0},{"id":"img","type":"SelectorImage","parentSelectors":["container"],"selector":"img.loaded","multiple":true,"delay":0},{"id":"title","type":"SelectorText","parentSelectors":["container"],"selector":"h1.title","multiple":false,"regex":"","delay":0},{"id":"author","type":"SelectorText","parentSelectors":["container"],"selector":".category-link span","multiple":false,"regex":"","delay":0},{"id":"container","type":"SelectorElementScroll","parentSelectors":["link"],"selector":"div.page-container","multiple":false,"delay":"1000"}]}
复制代码


Link popup selector


刚才选择 Selector 类型用到了 Link,与 Link 类似的还有一个叫做 Link popup selector,该选择器使用与 Link 基本一致,差异在目标网站的实现上,如果目标网站打开一个连接是在新窗口打开,而不是在当前页或者新选项卡中,那需要选择的就是 Link popup selector


写在后面


图片爬取在 Web Scraper 不好用,学会了如何用就好了,不建议你一直使用,爬取图片建议你学习一下像 Python 一样的编程语言,书写真正的爬虫程序。


无编码学爬虫之 Web Scraper,到此基本内容已经讲解完毕了,其它的都是在这些内容上的扩展,如果在深入研究下去,还是要用到编程里面的知识了,该框架属于轻量级的一个小工具,对于非开发工程师来说,很多时候可以快速、便捷的抓取指定数据,尤其对产品人,运营人,自媒体人来说帮助巨大,希望本系列专栏对你有帮助,如果你想学习正规的爬虫程序,可以看看下面连接里面的内容。


**想学 Python 编写语言写爬虫,可以订阅橡皮擦专栏哦~**


<font size=4> 🈲🈲🈲🈲 《爬虫百例教程》点击发现惊喜 🈲🈲🈲🈲</font>




如果你想跟博主建立亲密关系,可以关注同名公众号 <font color="red">梦想橡皮擦</font>,近距离接触一个逗趣的互联网高级网虫。

博主 ID:梦想橡皮擦,希望大家<font color="red">点赞</font>、<font color="red">评论</font>、<font color="red">收藏</font>。


发布于: 2021 年 03 月 04 日阅读数: 40
用户头像

爬虫 100 例作者,蓝桥签约作者,博客专家 2021.02.06 加入

6 年产品经理+教学经验,3 年互联网项目管理经验; 互联网资深爱好者; 沉迷各种技术无法自拔,导致年龄被困在 25 岁; CSDN 爬虫 100 例作者。 个人公众号“梦想橡皮擦”。

评论

发布
暂无评论
B站专栏内页数据如何抓取,Web Scraper 学习在进一步,无编码学爬虫之五