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