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