node爬取app数据_「实践」基于Apify+node+react/vue搭建一个有点意思的爬虫平台

本文介绍了一个基于Apify、nodejs和React/Vue的爬虫平台,涵盖Apify框架的基本使用、父子进程通信、爬虫并发控制、网页快照截取以及使用umi3+antd4.0构建前端界面。读者将学习到如何创建和管理爬虫任务,以及平台的实现细节。
摘要由CSDN通过智能技术生成
67afa7902c5c0b8b651a825b8d315103.png

作者:徐小夕

转发链接:https://mp.weixin.qq.com/s/SiBF0xAb4lB-K4p4qsbwRA

前言

熟悉我的朋友可能会知道,我一向是不写热点的。为什么不写呢?是因为我不关注热点吗?其实也不是。有些事件我还是很关注的,也确实有不少想法和观点。但我一直奉行一个原则,就是:要做有生命力的内容。

本文介绍的内容来自于笔者之前负责研发的爬虫管理平台, 专门抽象出了一个相对独立的功能模块为大家讲解如何使用nodejs开发专属于自己的爬虫平台.文章涵盖的知识点比较多,包含nodejs, 爬虫框架, 父的进程及其通信, react和umi等知识, 笔者会以尽可能简单的语言向大家一一介绍.

你将收获

  • Apify框架介绍和基本使用
  • 如何创建父的进程以及父子进程通信
  • 使用javascript手动实现控制爬虫最大并发数
  • 截取整个网页图片的实现方案
  • nodejs第三方库和模块的使用
  • 使用umi3 + antd4.0搭建爬虫前台界面

平台预览

83d914f5feb8c8c2ddfc66391727b7f0.png
f6d0fb9a3f8e462180bdee1f807127c8.png
884494a2f2fc31fdfa42e390b781536e.png

上图所示的就是我们要实现的爬虫平台, 我们可以输入指定网址来抓取该网站下的数据,并生成整个网页的快照.在抓取完之后我们可以下载数据和图片.网页右边是用户抓取的记录,方便二次利用或者备份.

正文

在开始文章之前,我们有必要了解爬虫的一些应用. 我们一般了解的爬虫, 多用来爬取网页数据, 捕获请求信息, 网页截图等,如下图:

4a6ac6bc185771e2f5dc51d22c57bf00.png

当然爬虫的应用远远不止如此,我们还可以利用爬虫库做自动化测试, 服务端渲染, 自动化表单提交, 测试谷歌扩展程序, 性能诊断等. 任何语言实现的爬虫框架原理往往也大同小异, 接下来笔者将介绍基于nodejs实现的爬虫框架Apify以及用法,并通过一个实际的案例方便大家快速上手爬虫开发.

Apify框架介绍和基本使用

apify是一款用于JavaScript的可伸缩的web爬虫库。能通过无头(headless)Chrome 和 Puppeteer 实现数据提取和** Web** 自动化作业的开发。它提供了管理和自动扩展无头Chrome / Puppeteer实例池的工具,支持维护目标URL的请求队列,并可将爬取结果存储到本地文件系统或云端。

我们安装和使用它非常简单, 官网上也有非常多的实例案例可以参考, 具体安装使用步骤如下:

安装

npm install apify --save复制代码

使用Apify开始第一个案例

const Apify = require('apify');Apify.main(async () => {    const requestQueue = await Apify.openRequestQueue();    await requestQueue.addRequest({ url: 'https://www.iana.org/' });    const pseudoUrls = [new Apify.PseudoUrl('https://www.iana.org
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值