第一期:如何经过知晓云云函数快速实现图片爬虫

做者:知晓云 - 小程序开发快人一步
来源:知晓课堂html

本文会跟你们介绍,如何在本地使用知晓云云函数 API 与 cheerio 开发一个图片爬虫,并使用 webpack 与 mincloud 将代码打包并上传部署到知晓云。webpack

技术栈:web

  • 代码打包工具:webpack@4.20.2
  • 部署工具:mincloud@1.0.2
  • html 解析:cheerio@1.0.0-rc.2
  • 其余:知晓云 Node SDK(云函数内置)

项目文件结构:npm

快速实现图片爬虫1.jpeg

最终咱们会使用如下两个命令来部署与测试
快速实现图片爬虫2.png小程序

1、webpack 配置

因为使用的是 v4 的 webpack,因此只须要不多的配置就能够了。
快速实现图片爬虫3.jpegsegmentfault

2、package script 配置

添加 deploy 脚本,以下:
快速实现图片爬虫4.jpegapp

3、入口文件

云函数做为一个模块在沙箱环境中被调用执行,该模块须要暴露出一个 main 方法,模块代码结果以下:
快速实现图片爬虫5.png函数

咱们的 webpack 入口文件须要暴露出一个函数(签名为:function (event, callback)),打包后就能够生成一个给个跟上面一致的模块文件(在 webpack.config.js 中已经定义了)。因此咱们的入口文件主要结构以下:
快速实现图片爬虫6.png工具

4、爬虫

这里分为 4 个步骤:测试

  • 抓取网页
  • 解析页面,抓出全部 img 标签中的 src
  • 将图片下载下来
  • 将下载下来的图片上传到知晓云

使用知晓云 Node SDK 的 request 方法将网页下载下来(不能直接使用其余第三方 request 包):

快速实现图片爬虫7.png

使用 cheerio 解析 html ,抓出全部的图片 url:

快速实现图片爬虫8.jpeg

下载图片:
快速实现图片爬虫9.png

上传图片到知晓云:
快速实现图片爬虫10.png

完整代码以下:

快速实现图片爬虫11.jpeg

5、部署并测试

跟 npm 同样,部署前须要先登陆,请参照文档配置。

使用如下命令便可将云函数部署到知晓云。

npm run deploy

执行结果以下:
快速实现图片爬虫12.jpeg

使用如下的命令来测试:
快速实现图片爬虫13.png

执行结果以下:
快速实现图片爬虫14.png

执行成功后便可在知晓云文件模块看到抓取到的图片

快速实现图片爬虫15.jpeg

关注「知晓云」公众号,点击菜单栏「知晓云」-「知晓课堂」,获取更多开发教程。

mincloud2019.png

相关文章
相关标签/搜索