2020 年如果讓我推薦一款大眾向的數(shù)據(jù)采集軟件相味,那一定是后裔采集器了芭届。和我之前推薦的 web scraper 相比颇玷,如果說 web scraper 是小而精的瑞士軍刀,那后裔采集器就是大而全的重型武器坡椒,基本上可以解決所有的數(shù)據(jù)爬取問題扰路。
下面我們就來聊聊,這款軟件的優(yōu)秀之處倔叼。
一幼衰、產(chǎn)品特點(diǎn)
1.跨平臺
后羿采集器是一款桌面應(yīng)用軟件,支持三大操作系統(tǒng):Linux缀雳、Windows 和 Mac渡嚣,可以直接在官網(wǎng)上免費(fèi)下載。
2.功能強(qiáng)大
后羿采集器把采集工作分為兩種類型:智能模式和流程圖模式肥印。
智能模式就是加載網(wǎng)頁后识椰,軟件自動分析網(wǎng)頁結(jié)構(gòu),智能識別網(wǎng)頁內(nèi)容深碱,簡化操作流程腹鹉。這種模式比較適合簡單的網(wǎng)頁,經(jīng)過我的測試敷硅,識別準(zhǔn)確率還是挺高的功咒。
流程圖模式的本質(zhì)就是圖形化編程。我們可以利用后裔采集器提供的各種控件绞蹦,模擬編程語言中的各種條件控制語句力奋,從而模擬真人瀏覽網(wǎng)頁的各種行為爬取數(shù)據(jù)。
3.導(dǎo)出無限制
這個可以說是后羿采集器最良心的功能了幽七。
市面上有很多的數(shù)據(jù)采集軟件景殷,出于商業(yè)化的目的,多多少少會對數(shù)據(jù)導(dǎo)出進(jìn)行限制。不清楚套路的人經(jīng)常用相關(guān)軟件辛辛苦苦采集了一堆數(shù)據(jù)猿挚,結(jié)果發(fā)現(xiàn)導(dǎo)出數(shù)據(jù)需要花錢咐旧。
后羿采集器就沒有這個問題,它的付費(fèi)點(diǎn)主要是體現(xiàn)在 IP 池和采集加速等高級功能上绩蜻,不但導(dǎo)出數(shù)據(jù)不花錢铣墨,還支持 Excel、CSV办绝、TXT伊约、HTML 多種導(dǎo)出格式,并且支持直接導(dǎo)出到數(shù)據(jù)庫八秃,對于普通的用戶來說完全夠用了。
4.教程詳細(xì)
我在本文動筆之前曾經(jīng)想過先寫幾篇后羿采集器的使用教程肉盹,但是看了他們的官網(wǎng)教程后就知道沒這個必要了昔驱,因?yàn)閷懙膶?shí)在是太詳細(xì)了。
后羿采集器的官網(wǎng)提供了兩種教程上忍,一種是視頻教程骤肛,每個視頻五分鐘左右;一種是圖文教程窍蓝,手把手教學(xué)腋颠。看完這兩類教程后還可以看看他們的文檔中心吓笙,寫的也非常詳細(xì)淑玫,基本覆蓋了該軟件的各個功能點(diǎn)。
二面睛、基礎(chǔ)功能
1.數(shù)據(jù)抓取
基本的數(shù)據(jù)抓取非常簡單:我們只要點(diǎn)擊「添加字段」那個按鈕絮蒿,就會出現(xiàn)一個選擇魔棒,然后點(diǎn)選要抓取的數(shù)據(jù)叁鉴,就能采集數(shù)據(jù)了:
2.翻頁功能
我在介紹 web scraper 時(shí)曾把網(wǎng)頁翻頁分為 3 大類:滾動加載土涝、分頁器加載和點(diǎn)擊下一頁加載。
對于這三種基礎(chǔ)翻頁類型幌墓,后羿采集器也是完全支持的但壮。
不像 web scraper 的分頁功能散落在各種選擇器上,后羿采集器的分頁配置集中在一個地方上常侣,只要通過下拉選擇蜡饵,就可以輕松配置分頁模式。相關(guān)的配置教程可見官網(wǎng)教程:如何設(shè)置分頁胳施。
3.復(fù)雜表單
對于一些多項(xiàng)聯(lián)動篩選的網(wǎng)頁验残,后羿采集器也能很好的處理。我們可以利用后裔采集器里的流程圖模式,去自定義一些交互規(guī)則您没。
例如下圖鸟召,我就利用了流程圖模式里的點(diǎn)擊組件模擬點(diǎn)擊篩選按鈕,非常方便氨鹏。
三欧募、進(jìn)階使用
1.數(shù)據(jù)清洗
我在介紹 web scraper 時(shí),說 web scraper 只提供了基礎(chǔ)的正則匹配功能仆抵,可以在數(shù)據(jù)抓取時(shí)對數(shù)據(jù)進(jìn)行初步的清洗跟继。
相比之下,后羿采集器提供了更多的功能:強(qiáng)大的過濾配置镣丑,完整的正則功能和全面的文字處理配置舔糖。當(dāng)然,功能強(qiáng)大的同時(shí)也帶來了復(fù)雜度的提升莺匠,需要有更多的耐心去學(xué)習(xí)使用金吗。
下面是官網(wǎng)上和數(shù)據(jù)清洗有關(guān)的教程,大家可以參考學(xué)習(xí):
- 如何設(shè)置數(shù)據(jù)篩選講解了基礎(chǔ)的數(shù)據(jù)清洗功能趣竣,可以避免采集過程中的無效采集(例如采集某個微博博主的數(shù)據(jù)時(shí)摇庙,可以過濾第一條置頂微博的數(shù)據(jù),只采集正常時(shí)間流的微博)
- 如何設(shè)置采集范圍講解了采集過程中過濾不需要的采集項(xiàng)遥缕,可以方便的自定義采集范圍(例如采集豆瓣電影 TOP 250 時(shí)卫袒,只采集前 100 名的數(shù)據(jù),而不是全量的 250 條數(shù)據(jù))
- 如何對采集字段進(jìn)行配置講解了如何定制采集的最小字段单匣,并且支持疊加處理夕凝,可以對一個字段使用多種匹配規(guī)則。(例如只想采集「1024 個贊」這條文本里的數(shù)字户秤,就可以設(shè)置相應(yīng)的規(guī)則過濾掉漢字)
2.流程圖模式
本文前面也介紹過了迹冤,流程圖模式的本質(zhì)就是圖形化編程。我們可以利用后裔采集器提供的各種控件虎忌,模擬編程語言中的各種條件控制語句泡徙,從而模擬真人瀏覽網(wǎng)頁的各種行為爬取數(shù)據(jù)。
比如說下圖這個流程圖膜蠢,就是模擬真人瀏覽微博時(shí)的行為去抓取相關(guān)數(shù)據(jù)堪藐。
經(jīng)過我個人的幾次測試,我認(rèn)為流程圖模式有一定的學(xué)習(xí)門檻挑围,但是和從頭學(xué)習(xí) python 爬蟲比起來礁竞,學(xué)習(xí)曲線還是緩和了不少。如果對流程圖模式很感興趣杉辙,可以去官網(wǎng)上學(xué)習(xí)模捂,寫的非常詳細(xì)。
3.XPath/CSS/Regex
無論是什么爬蟲軟件,他們都是基于一定的規(guī)則去抓取數(shù)據(jù)的狂男。XPath/CSS/Regex 就是幾個常見的匹配規(guī)則综看。后羿采集器支持自定義這幾種選擇器,可以更靈活的選擇要抓取的數(shù)據(jù)岖食。
比如說某個網(wǎng)頁里存在數(shù)據(jù) A红碑,但只有鼠標(biāo)移到對應(yīng)的文字上才會以彈窗的形式顯示出來,這時(shí)候我們就可以自己寫一個對應(yīng)的選擇器去篩選數(shù)據(jù)泡垃。
XPath
XPath 是一種在爬蟲中運(yùn)用非常廣泛的數(shù)據(jù)查詢語言析珊。我們可以通過 XPath 教程去學(xué)習(xí)這個語言的運(yùn)用。
CSS
這里的 CSS 特指的 CSS 選擇器蔑穴,我之前介紹 web scraper 的高級技巧時(shí)忠寻,講解過 CSS 選擇器的使用場景和注意事項(xiàng)。感興趣的人可以看我寫的 CSS 選擇器教程存和。
Regex
Regex 就是正則表達(dá)式礼预。我們也可以通過正則表達(dá)式去選擇數(shù)據(jù)瞳腌。我也寫過一些正則表達(dá)式的教程怖糊。但是個人認(rèn)為在字段選擇器這個場景下喘漏,正則表達(dá)式?jīng)]有 XPath 和 CSS 選擇器好用惋鸥。
4.定時(shí)抓取/IP 池/打碼功能
這幾個都是后羿采集器的付費(fèi)功能健田,我沒有開會員眷唉,所以也不知道使用體驗(yàn)怎么樣隘庄。在此我做個小小的科普九串,給大家解釋一下這幾個名詞是什么意思绞佩。
定時(shí)抓取
定時(shí)抓取非常好理解,就是到了某個固定的時(shí)間爬蟲軟件就會自動抓取數(shù)據(jù)猪钮。市面上有一些比價(jià)軟件品山,背后就是運(yùn)行著非常多的定時(shí)爬蟲,每隔幾分鐘爬一下價(jià)格信息烤低,以達(dá)到價(jià)格監(jiān)控的目的肘交。
IP 池
互聯(lián)網(wǎng)上 90% 的流量都是爬蟲貢獻(xiàn)的,為了降低服務(wù)器的壓力扑馁,互聯(lián)網(wǎng)公司會有一些風(fēng)控策略涯呻,里面就有一種是限制 IP 流量。比如說互聯(lián)網(wǎng)公司后臺檢測到某個 IP 有大量的數(shù)據(jù)請求腻要,超過了正常范圍复罐,就會暫時(shí)的封鎖這個 IP,不返回相關(guān)數(shù)據(jù)雄家。這時(shí)候爬蟲軟件就會自己維護(hù)一個 IP 池效诅,用不同的 IP 發(fā)送請求,降低 IP 封鎖的概率。
打碼功能
這個功能就是內(nèi)置了驗(yàn)證碼識別器乱投,可以實(shí)現(xiàn)機(jī)器打碼 or 手動打碼咽笼,也是繞過網(wǎng)站風(fēng)控的一種方法。
四篡腌、總結(jié)
個人認(rèn)為后羿采集器是一款非常優(yōu)秀的數(shù)據(jù)采集軟件褐荷。它提供的免費(fèi)功能可以解決絕大部分編程小白的數(shù)據(jù)抓取需求。
如果有一些編程基礎(chǔ)嘹悼,可以明顯的看出一些功能是對編程語言邏輯的封裝叛甫,比如說流程圖模式是對流程控制的封裝,數(shù)據(jù)清洗功能是對字符串處理函數(shù)的封裝杨伙。這些高階功能擴(kuò)展了后羿采集器的能力其监,也增大了學(xué)習(xí)難度。
我個人看來限匣,如果是輕量的數(shù)據(jù)抓取需求抖苦,更傾向于使用 web scraper;需求比較復(fù)雜米死,后羿采集器是個不錯的選擇锌历;如果涉及到定時(shí)抓取等高級需求,自己寫爬蟲代碼反而更加可控峦筒。
總而言之究西,后羿采集器是一款優(yōu)秀的數(shù)據(jù)采集軟件,非常推薦大家學(xué)習(xí)和使用物喷。