Web Scraper 高級用法——使用 CouchDB 存儲數(shù)據(jù) | 簡易數(shù)據(jù)分析 18

image

這是簡易數(shù)據(jù)分析系列的第 18 篇文章。

原文鏈接:https://www.cnblogs.com/web-scraper/p/web-scraper-couchdb.html

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

其實(shí)解決數(shù)據(jù)亂序的方法也有,那就是換一個數(shù)據(jù)庫。

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

1.CouchDB 下載安裝

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

因?yàn)榉?wù)器在外網(wǎng),國內(nèi)訪問可能比較慢,我存了一份云盤文件,大家可以看我個人信息,關(guān)注后在后臺回復(fù)「CouchDB」就可以獲得下載鏈接。Mac 和 Win 安裝包都有,版本為 3.0.0。

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

2.配置 CouchDB

1.創(chuàng)建賬號

第一次打開 CouchDB,可能會要求你創(chuàng)建一個 CouchDB 賬號(或設(shè)置賬號密碼),這里我為了演示方便就取個簡單的密碼。大家一定要記住賬號密碼,因?yàn)橹笤L問 CouchDB 都要填寫。

image

2.訪問 CouchDB

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

image

3.創(chuàng)建 Database

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

  • 點(diǎn)擊「Create Database」
  • 為這個文件起個名字,叫「scraper-sitemaps」
  • 勾選「Non-partitioned」
  • 單擊「Create」創(chuàng)建
image

3.Web Scraper 切換到 CouchDB

1.首先從瀏覽器右上角的插件列表中找到 Web Scraper 的圖標(biāo),然后右鍵點(diǎn)擊,在彈出的菜單里再點(diǎn)擊「選項(xiàng)」。

image

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

image

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

4.抓取數(shù)據(jù)

抓取數(shù)據(jù)前,我們需要把電腦的各種網(wǎng)絡(luò)代理關(guān)掉,要不然可能會連接不到 CouchDB。

網(wǎng)頁還是拿豆瓣 TOP250 做個簡單的演示。web scraper 的操作和以前都是一樣的,預(yù)覽數(shù)據(jù)時我們就會發(fā)現(xiàn),和 localStorage 比起來,數(shù)據(jù)都是正序的:

image

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

image

點(diǎn)擊「sitemap-data-douban2」進(jìn)入數(shù)據(jù)詳情頁,可以預(yù)覽數(shù)據(jù):

image

5.導(dǎo)出數(shù)據(jù)

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

6.個人感悟

其實(shí)一開始我并不想介紹 CouchDB,因?yàn)閺奈业慕嵌瓤矗瑆eb scraper 是一個很輕量的插件,可以解決一些輕量的抓取需求。加入 CouchDB 后,這個安裝下來要幾百兆的軟件,只是解決了 web scraper 數(shù)據(jù)亂序的問題,在我看來還是有些大炮打蚊子,也脫離了輕量抓取的初衷。但是有不少讀者私信我相關(guān)內(nèi)容,為了教程的完整性,我還是寫下了這篇文章。

7.聯(lián)系我

因?yàn)槲恼掳l(fā)在各大平臺上,賬號較多不能及時回復(fù)評論和私信,大家可以看我個人信息關(guān)注賬號,上車防失聯(lián)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容