設計原理
webmagic採用完全模組化的設計,功能覆蓋整個爬蟲的生命周期(連結提取、頁面下載、內容抽取、持久化),支持多執行緒抓取,分散式抓取,並支持自動重試、自定義UA/cookie等功能。
webmagic包含頁面抽取功能,開發者可以使用css selector、xpath和正則表達式進行連結和內容的提取,支持多個選擇器鏈式調用。
使用maven
webmagic使用maven管理依賴,在項目中添加對應的依賴即可使用webmagic:
WebMagic 使用slf4j-log4j12作為slf4j的實現.如果你自己定製了slf4j的實現,請在項目中去掉此依賴。
項目結構
webmagic主要包括兩個包:
•webmagic-core
•webmagic核心部分,只包含爬蟲基本模組和基本抽取器。webmagic-core的目標是成為網頁爬蟲的一個教科書般的實現。
•webmagic-extension
•webmagic的擴展模組,提供一些更方便的編寫爬蟲的工具。包括註解格式定義爬蟲、JSON、分散式等支持。
webmagic還包含兩個可用的擴展包,因為這兩個包都依賴了比較重量級的工具,所以從主要包中抽離出來,這些包需要下載源碼後自己編譯:
•webmagic-saxon
•webmagic與Saxon結合的模組。Saxon是一個XPath、XSLT的解析工具,webmagic依賴Saxon來進行XPath2.0語法解析支持。
•webmagic-selenium
•webmagic與Selenium結合的模組。Selenium是一個模擬瀏覽器進行頁面渲染的工具,webmagic依賴Selenium進行動態頁面的抓取。
在項目中,你可以根據需要依賴不同的包。
不使用maven
在項目的lib目錄下,有依賴的所有jar包,直接在IDE里import即可。