Web Scraper 高級用法——使用 CouchDB 存儲數據 | 簡易數據分析 18


這是簡易數據分析系列的第 18 篇文章。


2020-10-14 日更新:
Web Scraper 在 0.5.1 版本后,為了后續的版本迭代,准備遷移數據庫,所以對新用戶關閉了 CouchDB 開關。

這個改動意味着,如果你是老用戶並且通過 Google 應用商店更新了 Web Scraper,CouchDB 還是可以使用的;如果你是新用戶,CouchDB 功能就無法使用了;
如果想啟用 CouchDB 功能,可以回退到 0.4.* 的某個舊版本

官方版本更新日志可見 👉:Web Scraper Chrome Extension release notes


利用 web scraper 抓取數據的時候,大家一定會遇到一個問題:數據是亂序的。在之前的教程里,我建議大家利用 Excel 等工具對數據二次加工排序,但還是存在部分數據無法排序的情況。

其實解決數據亂序的方法也有,那就是換一個數據庫。

web scraper 作為一個瀏覽器插件,數據默認保存在瀏覽器的 localStorage 數據庫里。其實 web scraper 還支持外設數據庫——CouchDB。只要切換成這個數據庫,就可以在抓取過程中保證數據正序了。

1.CouchDB 下載安裝

CouchDB 可以從官網下載,官網鏈接為:https://couchdb.apache.org/。

因為服務器在外網,國內訪問可能比較慢,我存了一份雲盤文件,可以公眾號后台回復「CouchDB」獲取下載連接,Mac 和 Win 安裝包都有,版本為 3.0.0。

具體的安裝過程我就忽略了,大家平常怎么安裝軟件就怎么安裝 CouchDB。

2.配置 CouchDB

1.創建賬號

第一次打開 CouchDB,可能會要求你創建一個 CouchDB 賬號(或設置賬號密碼),這里我為了演示方便就取個簡單的密碼。大家一定要記住賬號密碼,因為之后訪問 CouchDB 都要填寫。

2.訪問 CouchDB

一般第一次打開 CouchDB,會自動打開一個網頁,網址為:http://127.0.0.1:5984/_utils/#,如果沒有自動打開,可以瀏覽器手動輸入這個網址。

3.創建 Database

我們可以把 Database 理解為一個文件,我們要創建一個文件專門保存 sitemap,創建流程可以看下圖:

  • 點擊「Create Database」
  • 為這個文件起個名字,叫「scraper-sitemaps」
  • 勾選「Non-partitioned」
  • 單擊「Create」創建

3.Web Scraper 切換到 CouchDB

1.首先從瀏覽器右上角的插件列表中找到 Web Scraper 的圖標,然后右鍵點擊,在彈出的菜單里再點擊「選項」。

2.在新打開的管理頁面里,要做這幾步:

3.最后點擊「Save」按鈕保存配置,重啟瀏覽器讓配置生效。

4.抓取數據

抓取數據前,我們需要把電腦的各種網絡代理關掉,要不然可能會連接不到 CouchDB。

網頁還是拿豆瓣 TOP250 做個簡單的演示。web scraper 的操作和以前都是一樣的,預覽數據時我們就會發現,和 localStorage 比起來,數據都是正序的:

我們也可以在 CouchDB 的操作頁面預覽數據。http://127.0.0.1:5984/_utils/# 這個頁面是主界面,我們可以看到保存 sitemap 的 database 和豆瓣數據的 database:

點擊「sitemap-data-douban2」進入數據詳情頁,可以預覽數據:

5.導出數據

導出數據也是老樣子,在 web scraper 插件面板里點擊「Export data as CSV」就可以導出。其實也可以從 CouchDB 里導出數據,但這樣還得寫一些腳本,我這里就不多介紹了,感興趣的人可以自行搜索。

6.個人感悟

其實一開始我並不想介紹 CouchDB,因為從我的角度看,web scraper 是一個很輕量的插件,可以解決一些輕量的抓取需求。加入 CouchDB 后,這個安裝下來要幾百兆的軟件,只是解決了 web scraper 數據亂序的問題,在我看來還是有些大炮打蚊子,也脫離了輕量抓取的初衷。但是有不少讀者私信我相關內容,為了教程的完整性,我還是寫下了這篇文章。

7.聯系我

因為文章發在各大平台上,賬號較多不能及時回復評論和私信,有問題可關注公眾號 ——「鹵蛋實驗室」,(或 wx 搜索 egglabs)關注上車防失聯。

img


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM