webmagic是(shi)一個開(kai)(kai)源的Java垂直爬蟲框架,目標是(shi)簡化爬蟲的開(kai)(kai)發流程(cheng),讓開(kai)(kai)發者專注于(yu)邏輯功(gong)能(neng)(neng)的開(kai)(kai)發。webmagic采用完全模塊化的設計,功(gong)能(neng)(neng)覆蓋整個爬蟲的生命周期(鏈接提取、頁面(mian)下載、內容抽取、持(chi)久(jiu)化),支(zhi)(zhi)持(chi)多線程(cheng)抓(zhua)取,分布(bu)式抓(zhua)取,并支(zhi)(zhi)持(chi)自動(dong)重試、自定義UA/cookie等功(gong)能(neng)(neng)。
webmagic包含頁面(mian)抽取功能(neng),開發者可以使用(yong)css selector、xpath和(he)正則表(biao)達(da)式(shi)進行鏈接和(he)內容的提取,支持多個選擇器鏈式(shi)調用(yong)。
webmagic主要包括(kuo)兩個包:
webmagic核心部(bu)分,只包含爬(pa)蟲(chong)基本(ben)模塊和基本(ben)抽(chou)取器(qi)。webmagic-core的(de)目標是成為網頁爬(pa)蟲(chong)的(de)一個教科書般的(de)實現。
webmagic的(de)擴展模(mo)塊(kuai),提(ti)供一些更方(fang)便的(de)編寫(xie)爬(pa)(pa)蟲的(de)工具。包括(kuo)注解(jie)格式定義爬(pa)(pa)蟲、JSON、分布式等(deng)支持。
webmagic還包含兩(liang)個可用的擴(kuo)展包,因為(wei)這兩(liang)個包都依賴(lai)了比較重量級的工(gong)具,所以從主要(yao)包中(zhong)抽離出來,這些包需(xu)要(yao)下(xia)載源碼后自己編譯:
webmagic-saxon
webmagic與Saxon結合的(de)模(mo)塊。Saxon是一個XPath、XSLT的(de)解析工具,webmagic依賴Saxon來(lai)進行XPath2.0語法解析支持(chi)。
webmagic-selenium
webmagic與Selenium結合的模塊(kuai)。Selenium是一(yi)個模擬(ni)瀏覽(lan)器進(jin)(jin)行頁面渲染(ran)的工(gong)具,webmagic依賴Selenium進(jin)(jin)行動態頁面的抓取。
在項目中,你可以(yi)根據需(xu)要依賴(lai)不同的包。
不使(shi)用maven
在項目(mu)的(de)lib目(mu)錄下,有依賴的(de)所有jar包,直接在IDE里import即可。