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