第一期:如何通過知曉云云函數快速實現圖片爬蟲

作者:知曉雲 - 小程序開發快人一步
來源:知曉課堂

本文會跟大家介紹,如何在本地使用知曉云云函數 API 與 cheerio 開發一個圖片爬蟲,並使用 webpack 與 mincloud 將代碼打包並上傳部署到知曉雲。

技術棧:

項目文件結構:
在這裏插入圖片描述

最終我們會使用以下兩個命令來部署與測試
在這裏插入圖片描述

一、webpack 配置

由於使用的是 v4 的 webpack,所以只需要很少的配置就可以了。

在這裏插入圖片描述

二、package script 配置

添加 deploy 腳本,如下:
在這裏插入圖片描述

三、入口文件

雲函數作爲一個模塊在沙箱環境中被調用執行,該模塊需要暴露出一個 main 方法,模塊代碼結果如下:
在這裏插入圖片描述

我們的 webpack 入口文件需要暴露出一個函數(簽名爲:function (event, callback)),打包後就可以生成一個給個跟上面一致的模塊文件(在 webpack.config.js 中已經定義了)。所以我們的入口文件主要結構如下:
在這裏插入圖片描述

四、爬蟲

這裏分爲 4 個步驟:

  • 抓取網頁
  • 解析頁面,抓出所有 img 標籤中的 src
  • 將圖片下載下來
  • 將下載下來的圖片上傳到知曉雲

使用知曉雲 Node SDK 的 request 方法將網頁下載下來(不能直接使用其他第三方 request 包):
在這裏插入圖片描述

使用 cheerio 解析 html ,抓出所有的圖片 url:
在這裏插入圖片描述

下載圖片:
在這裏插入圖片描述

上傳圖片到知曉雲:
在這裏插入圖片描述

完整代碼如下:

在這裏插入圖片描述

五、部署並測試

跟 npm 一樣,部署前需要先登錄,請參照文檔配置。

使用以下命令即可將雲函數部署到知曉雲。

npm run deploy

執行結果如下:
在這裏插入圖片描述

使用以下的命令來測試:

在這裏插入圖片描述

執行結果如下:

在這裏插入圖片描述

執行成功後即可在知曉雲文件模塊看到抓取到的圖片

在這裏插入圖片描述

關注「知曉雲」公衆號,點擊菜單欄「知曉雲」-「知曉課堂」,獲取更多開發教程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章