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