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