有大佬通过研发这款Chrome插件的使用教程,赚了上百万!
优采云 发布时间: 2022-05-06 04:13有大佬通过研发这款Chrome插件的使用教程,赚了上百万!
最近,有同学告诉我说,D哥我发现有大佬开发 Chrome 商店里的一款爬虫教程,竟然卖了几千份,每份售价299,为啥有这么多人买呢?
我的原话是,别人的目标群体不是你(程序员),而是不会写代码的人,所以,这钱该别人赚。
毕竟不会写代码的人占了绝大多数,但他们又有如下的痛点:
我不会写代码,但想快速爬取几个数据量不太大的网页,做一下调研分析,该怎么办?
这个需求,估计大家很多时候都会遇到,比如,我想爬取秒杀页面的商品信息进行对比;我想爬取国家统计局官网发布的你感兴趣的数据;等等。
既然说到这里,我就简单的介绍一下网络爬虫。网络爬虫的主要目的是爬取互联网上的网页。你可以把互联网中的每一个网页想象成一个点,那么整个互联网将是彼此连通的。是不是很像我们大学学过的图论?如果从任何一个网页出发,在时间资源允许的情况下,使用广度优先算法(BFS)或者深度优先算法(DFS)是可以爬完整个互联网的。对这两种算法不太熟悉的同学可以去背书了。
下面以比较流行的 Scrapy 架构图为例,流线为数据流向。
看了这幅图,是不是对一般的爬虫有了大致的了解了。
专业的网络爬虫(比如百度/谷歌的爬虫)为了节约资源和时间,因此,设计是相当复杂的。这些爬虫一般是基于分布式集群构建的,有些机子负责调度,有些机子负责下载,有些机子专门基于网页进行分析,等等。并非简单的用 BFS/DFS 就能解决的,比如,我们以调度器为例,它就需要来管理下载优先级,当引擎发送过来 Request 请求,就需要按照优先级进行整理排列,入队,当引擎需要时,交还给引擎。
虽然关于各种语言的爬虫框架很多,要是用这些框架来爬这点数据,确实有点大材小用了,而且还得要编码调试,各种麻烦!!!
那我们就来介绍一下 Chrome 商店里面这一款爬虫插件,刚好解决这个痛点,它的名字叫做 Web Scraper,目前有 22w 的用户下载。
官方网址:
这个爬虫操作特别简单,照着官方文档,几分钟就学会了。
我这里就说几个关键点吧。
1、启动
一般初次使用,不知道怎么打开它,用快捷键 ctrl+shift+i 打开开发者工具。
sitemaps:你所有的爬虫。
create new sitemap:创建一个新爬虫的起始地址。
2、选择器
对于一个选择器而言,就有如下几种元素,它主要作用是为爬虫分析网页的功能,提供了可视化选择的功能,如下图所示。
好了,再来细说一下,选择器内部的几个元素。
Id: 选择器的ID;
Type:要抓取内容的类型,有文本、图片以及元素集等;
Selector:选择器。点击 select 按钮可以选择我们要抓取的内容,点击 element preview 按钮可以预览选择的内容,而点击 data preview 按钮可以预览抓取的数据;
Multiple:勾选了这个按钮可以并联相同的内容;
Regex:正则表达式;
Delay:延迟。为了让页面有足够的时间加载数据;
Parent Selectors:父选择器。
有的同学可能会问,如果我要在一个页面选择多个元素,该怎么办呢?上面的提到的 Type 属性里面的 Element 就起到这个作用,如我这里。
3、关系图
我觉得这个功能特别棒,帮我们看到这个爬虫的层级关系图。
最后,就是爬取数据了,爬取后的数据还可以导出为 excel,便于你分析。
大家可以去玩一下这个爬虫插件,会帮你快速分析一些简单的数据。
就写到这里吧。
特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:
<p style="font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-align: center;">
</p>
<p style="font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-align: center;">长按订阅更多精彩▼
如有收获,点个在看,诚挚感谢</p>