爬蟲誰都能玩,再推荐一款超級瀏覽器插件– Kantu

Photo of author
Written By CMO

HubSpot One的讀者、粉絲通常是奔著乾貨來的數字行銷者,因此如何幫助大家提高效率是我們主要的內容方向。

辦公自動化和網頁爬取的利器——Kantu
辦公自動化和網頁爬取的利器——Kantu

我們在過去介紹過如何輕鬆爬取天貓店數據了解競爭對手情報。當時我們介紹了webscraper這款相當好用的插件。今天我們將介紹另一款插件,它與webscraper可謂平分秋色,雖然不及前者效率高,但是對攻克webscraper無法應對的問題時非常管用。

這款名為Kantu的瀏覽器插件更接近於傳統意義上的外掛,因此它除了幫助我們去爬取網頁數據之外更能夠使我們日常工作變得高效。凡是重複性的機械的工作都可以用它來解決,所以即便你對爬蟲不是很感興趣也沒什麼需求筆者也推薦你充分了解這款工具。

下載Kantu

Kantu目前支持Chrome和Firefox兩款瀏覽器,如果你無法訪問Chrome商店也可以選擇Firefox。畢竟火狐還沒有被牆。下載地址是https://ui.vision/。

Kantu並不是完全免費的,如果你要大量使用XModules來真實模擬用戶行為那可以考慮購買Pro,不然的話部分高級指令只能使用25次。不過Kantu的免費版本已經超級強大了。

製作並錄製新的宏

我用一個實例來看看Kantu是怎麼用的。今年早些時候Google下線了操作符info:,查看一個網頁是否被索引變得麻煩了。因此我們要在Google Search Console中查詢。

我們在瀏覽器中打開Google Search Console,打開Kantu插件,按藍色按鈕+Macro添加一個宏。然後點擊Record進行錄製。到此為止和我們平時的Excel錄製宏沒什麼兩樣。錄完以後你可以Play Macro試一下。

錄製後發現查網站收錄情況共分四步
錄製後發現查網站收錄情況共分四步

我們看到這裡有四步,Open,Click,Type和Click。分別對應是

  1. 打開網址。
  2. 點擊輸入框。
  3. 輸入網址。
  4. 點擊搜索按鈕。

由於我們每次查詢可以接著在上一次的查詢結果因此我們可以刪除第一步Open和第二步Click 。接下來我們就要把結果保存下來了。我們先不急,說保存之前我們先說讀取。你可能注意到在上面的過程中輸入數據是我們手輸的,我們更希望的是從一個列表中讀取,因為我們要查成百上千條網址。

讀取CSV

我們先用Excel或者其他工具做一個CSV文件。

用Excel做一個CSV文件
用Excel做一個CSV文件

為了簡化測試我們只放在A列,並且只放了兩條網址。然後我們保存該CSV為urllist.csv。

回到Kantu,在右下角的CSV標籤中選擇Import CSV進行導入。導入後我們在第一條Open指令後添加一條csvRead,Target填入urllist.csv。

然後我們將原來的Type命令的Value更改為${!COL1},意思是讀取第一列的值。 Kantu腳本每跑一個循環只會讀取CSV文件中的一行訊息。如果你需要讀取多個值可以利用第二列、第三列依此類推,參數對應的分別是${!COL2}和${!COL3}。

循環等待查詢結果

改完了以後我們在腳本的最後再加上一套等待命令。

循環等待查詢完成
循環等待查詢完成

上圖中的各步說明:

  1. type——輸入一條查詢網址
  2. click——點擊查詢
  3. label——添加循環標識WAIT
  4. pause——等一秒
  5. storeText——把頁面上檢索框下面那條網址記錄到變量CURRENTURL
  6. gotoIf_v2——如果${CURRENTURL}!=${!COL1}那麼回到WAIT

此時我們可以點擊Play Macro旁邊的下拉菜單,選擇Play Loop,跑2圈。剩下的我們就要把結果保存下來了。

保存結果至CSV

我們將新增四步結果來保存爬到的結果,如下圖:

跑過一次之後會自動新建CSV文檔
跑過一次之後會自動新建CSV文檔
  1. storeText——把網頁中DOM元素內的文字存到變量INDEXATION,這裡用的XPATH是xpath=//*[@id=”yDmH0d”]/c-wiz[3]/div/div[3]。你可以在Target,Select旁的Find按鈕驗證,如果你的情況不一樣請自行調整。
  2. store——把網址添加入內置行變量!csvLine
  3. store——把INDEXATION也添加入內置行變量!csvLine
  4. csvSave——把!csvLine保存至文件result.csv

驗證結果並調整性能

我們可以通過上面的腳本爬取原始數據,下載後可以在Excel中導入。

從Excel中導入含有原始數據的CSV文件
從Excel中導入含有原始數據的CSV文件

這裡要注意的是導入時要選擇UTF-8格式,不然會產生亂碼。

最後我們在第一步加上一條加速命令store | fast | !REPLAYSPEED。這樣腳本的執行速度會加快。在筆者的環境下兩條網址花了不到20秒,這樣的效率查200個網頁的小型網址大約是半小時的功夫。把工作交給Kantu,你就可以把腳本放到後台自己去嗑瓜子看YouTube了。

後記

如果不是這款插件,你可能要用複雜的Python製作爬蟲來對數據進行收集了。你可以看這篇Search Engine Journal的教程體會一下——《How to Automate the URL Inspection Tool with Python & JavaScript》

Kantu還有其他非常強大的功能有待我們探索,凡是我們可以挂機的項目Kantu都可以實現。完整的腳本下載地址請在HubSpot One公眾號中回复kantu獲取。