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