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