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