webmagic是一個(gè)開(kāi)源的Java垂直爬蟲(chóng)框架,目標(biāo)是簡(jiǎn)化爬蟲(chóng)的開(kāi)發(fā)流程,讓開(kāi)發(fā)者專(zhuān)注于邏輯功能的開(kāi)發(fā)。webmagic采用完全模塊化的設(shè)計(jì),功能覆蓋整個(gè)爬蟲(chóng)的生命周期(鏈接提取、頁(yè)面下載、內(nèi)容抽取、持久化),支持多線(xiàn)程抓取,分布式抓取,并支持自動(dòng)重試、自定義UA/cookie等功能。
webmagic包含頁(yè)面抽取功能,開(kāi)發(fā)者可以使用css selector、xpath和正則表達(dá)式進(jìn)行鏈接和內(nèi)容的提取,支持多個(gè)選擇器鏈?zhǔn)秸{(diào)用。
webmagic主要包括兩個(gè)包:
webmagic核心部分,只包含爬蟲(chóng)基本模塊和基本抽取器。webmagic-core的目標(biāo)是成為網(wǎng)頁(yè)爬蟲(chóng)的一個(gè)教科書(shū)般的實(shí)現(xiàn)。
webmagic的擴(kuò)展模塊,提供一些更方便的編寫(xiě)爬蟲(chóng)的工具。包括注解格式定義爬蟲(chóng)、JSON、分布式等支持。
webmagic還包含兩個(gè)可用的擴(kuò)展包,因?yàn)檫@兩個(gè)包都依賴(lài)了比較重量級(jí)的工具,所以從主要包中抽離出來(lái),這些包需要下載源碼后自己編譯:
webmagic-saxon
webmagic與Saxon結(jié)合的模塊。Saxon是一個(gè)XPath、XSLT的解析工具,webmagic依賴(lài)Saxon來(lái)進(jìn)行XPath2.0語(yǔ)法解析支持。
webmagic-selenium
webmagic與Selenium結(jié)合的模塊。Selenium是一個(gè)模擬瀏覽器進(jìn)行頁(yè)面渲染的工具,webmagic依賴(lài)Selenium進(jìn)行動(dòng)態(tài)頁(yè)面的抓取。
在項(xiàng)目中,你可以根據(jù)需要依賴(lài)不同的包。
不使用maven
在項(xiàng)目的lib目錄下,有依賴(lài)的所有jar包,直接在IDE里import即可。