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