本文是WebMagic文檔的一部分。系列文章寫完後,會整合到WebMagic新版文檔中。java
WebMagic主要包含兩個jar包:webmagic-core-{version}.jar
和webmagic-extension-{version}.jar
。在項目中添加這兩個包的依賴,便可使用WebMagic。git
WebMagic基於Maven進行構建,推薦使用Maven來安裝WebMagic。在項目中添加如下座標便可:github
<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-extension</artifactId> <version>0.4.3</version> </dependency>
WebMagic使用slf4j-log4j12做爲slf4j的實現.若是你本身定製了slf4j的實現,請在項目中去掉此依賴。web
<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-extension</artifactId> <version>0.4.3</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency>
不使用maven的用戶,能夠下載附帶二進制jar包的版本(感謝oschina):eclipse
git clone http://git.oschina.net/flashsword20/webmagic.git
在lib目錄下,有項目依賴的全部jar包,直接在IDE裏,將這些jar添加到Libraries便可。maven
在你的項目中添加了WebMagic的依賴以後,便可開始第一個爬蟲的開發了!咱們這裏拿一個抓取Github信息的例子:ide
import us.codecraft.webmagic.Page; import us.codecraft.webmagic.Site; import us.codecraft.webmagic.Spider; import us.codecraft.webmagic.processor.PageProcessor; public class GithubRepoPageProcessor implements PageProcessor { private Site site = Site.me().setRetryTimes(3).setSleepTime(100); @Override public void process(Page page) { page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/\\w+/\\w+)").all()); page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString()); page.putField("name", page.getHtml().xpath("//h1[@class='entry-title public']/strong/a/text()").toString()); if (page.getResultItems().get("name")==null){ //skip this page page.setSkip(true); } page.putField("readme", page.getHtml().xpath("//div[@id='readme']/tidyText()")); } @Override public Site getSite() { return site; } public static void main(String[] args) { Spider.create(new GithubRepoPageProcessor()).addUrl("https://github.com/code4craft").thread(5).run(); } }
點擊main方法,選擇「運行」,你會發現爬蟲已經能夠正常工做了!this
WebMagic是一個純Java項目,若是你熟悉Maven,那麼下載並編譯源碼是很是簡單的。若是不熟悉Maven也不要緊,這部分會介紹如何在Eclipse裏導入這個項目。spa
WebMagic目前有兩個倉庫:.net
github上的倉庫保存最新版本,全部issue、pull request都在這裏。你們以爲項目不錯的話別忘了去給個star哦!
此倉庫包含全部編譯好的依賴包,只保存項目的穩定版本,最新版本仍在github上更新。oschina在國內比較穩定,主要做爲鏡像。
不管在哪一個倉庫,使用
git clone https://github.com/code4craft/webmagic.git
或者
git clone http://git.oschina.net/flashsword20/webmagic.git
便可下載最新代碼。
若是你對git自己使用也不熟悉,建議看看@黃勇的 從 Git OSC 下載 Smart 源碼
Intellij Idea默認自帶Maven支持,import項目時選擇Maven項目便可。
使用Eclipse的用戶,推薦安裝m2e插件,安裝地址:https://www.eclipse.org/m2e/download/
安裝後,在File->Import中選擇Maven->Existing Maven Projects便可導入項目。
導入後看到項目選擇界面,點擊finish便可。
若是沒有安裝m2e插件,只要你安裝了Maven,也是比較好辦的。在項目根目錄下使用命令:
mvn eclipse:eclipse
生成maven項目結構的eclipse配置文件,而後在File->Import中選擇General->Existing Projects into Workspace便可導入項目。
導入後看到項目選擇界面,點擊finish便可。
導入成功以後,應該就沒有編譯錯誤了!此時你能夠運行一下webmagic-core項目中自帶的exmaple:"us.codecraft.webmagic.processor.example.GithubRepoPageProcessor"。
一樣,看到控制檯輸出以下,則表示源碼編譯和執行成功了!
另外廣告一下:webmagic qq羣: 330192938 有使用的問題、建議,或者對爬蟲開發感興趣的,都歡迎加入!