天天看點

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

作者:一禾的認知覺醒之路

Automa是一款開源的圖形化&低代碼爬蟲工具,讓使用者在不懂代碼的情況下,通過拖拽方式做一些實用的爬蟲。例如爬取微網誌資訊、批量搜尋百度、解除某些網站不可複制限制、下載下傳抖音視訊、免費看VIP視訊等等。

本系列教程将先介紹它的基本使用,然後基于它做一些有趣的項目實踐(包括但不限于上述所舉的例子)。本文是該系列的第四篇文章,實作一個完整版微網誌爬蟲。

一、簡單版微網誌爬蟲回顧

在上一篇文章中,我們實作了一個簡單版微網誌爬蟲,它是基于微網誌api接口來實作的。工作流如下所示:

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

但是我們發現該簡單版爬蟲有以下不足:

  1. 無法實作循環抓取。即無法抓取多頁;
  2. 抓取的微網誌文本是未展開的片段;

本文接下來主要解決這兩個問題。

二、微網誌爬蟲完整版

先看一下完整版微網誌爬蟲的工作流。這條工作流比簡單版的工作流複雜了不少,下面我們來看看是如何解決上述兩個問題的。

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

1、循環抓取

先說下整體思路:周遊需要抓取的頁數,然後生成每一頁的URL,最後複用簡單版爬蟲對每一頁就行抓取;

整個過程對應工作流的如下部分。我們來看下具體實作。

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

首先,通過Javascript元件,定義變量,即需要周遊的頁數。這裡我們周遊前3頁,元件參數如下所示,定義了一個pages變量,值為[1,2,3].

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

然後用循環資料元件周遊這個變量,元件參數如下:

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

最後,修改HTTP請求元件的URL,将page參數改為{{loopData.7g0mFE}},元件參數如下所示:

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

當然,别忘了在工作流最後節點加上循環斷點元件,以便循環結束後,跳出循環。

2、抓取微網誌的完整文本

先說整體思路:仔細分析網絡請求,不難發現,微網誌接口用isLongText字段辨別是否為長文本。如果為長本文,則通過微網誌的id去請求另外一個接口擷取完整微網誌文本;否則,直接複用簡單版爬蟲即可。

整個過程對應工作流的如下部分。我們來看下具體實作。

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

首先,通過條件元件,判斷該條微網誌是否為長文本,元件參數如下:

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

分兩種情況讨論:

  • 如果為長文本,則通過微網誌id去請求擷取長文本内容,對應HTTP請求元件參數如下,注意URL中的id參數。然後再将擷取的長文本寫入到table中。
「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲
  • 如果不是長文本,則複用簡單爬蟲裡寫table的邏輯即可。

通過上述操作,我們就完成了完整版的微網誌爬蟲。最後,我們來看下整個工作流的運作。

「低代碼爬蟲系列四」Automa實作完整版微網誌爬蟲

(如果需要完整例子項目檔案、或者對步驟還存在疑問的朋友,可以在評論區留言或者私信)

後面文章會做一些更複雜、更有趣的例子,敬請期待~

如果你有什麼想做的爬蟲,也可以在評論區留言哦~