WebMagic使用說明-安裝篇

WebMagic使用說明-安裝篇

本文是WebMagic文檔的一部分。系列文章寫完後,會整合到WebMagic新版文檔中。java

1. 使用WebMagic

WebMagic主要包含兩個jar包:webmagic-core-{version}.jarwebmagic-extension-{version}.jar。在項目中添加這兩個包的依賴,便可使用WebMagic。git

1.1 使用Maven

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>

1.2 不使用Maven

不使用maven的用戶,能夠下載附帶二進制jar包的版本(感謝oschina):eclipse

git clone http://git.oschina.net/flashsword20/webmagic.git

lib目錄下,有項目依賴的全部jar包,直接在IDE裏,將這些jar添加到Libraries便可。maven

import jars

1.3 第一個項目

在你的項目中添加了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

runlog

2.下載和編譯源碼

WebMagic是一個純Java項目,若是你熟悉Maven,那麼下載並編譯源碼是很是簡單的。若是不熟悉Maven也不要緊,這部分會介紹如何在Eclipse裏導入這個項目。spa

2.1 下載源碼

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 源碼

2.2 導入項目

Intellij Idea默認自帶Maven支持,import項目時選擇Maven項目便可。

2.2.1 使用m2e插件

使用Eclipse的用戶,推薦安裝m2e插件,安裝地址:https://www.eclipse.org/m2e/download/

安裝後,在File->Import中選擇Maven->Existing Maven Projects便可導入項目。

m2e-import

導入後看到項目選擇界面,點擊finish便可。

m2e-import2

2.2.2 使用Maven Eclipse插件

若是沒有安裝m2e插件,只要你安裝了Maven,也是比較好辦的。在項目根目錄下使用命令:

mvn eclipse:eclipse

生成maven項目結構的eclipse配置文件,而後在File->Import中選擇General->Existing Projects into Workspace便可導入項目。

eclipse-import-1

導入後看到項目選擇界面,點擊finish便可。

eclipse-import-2

2.3 編譯和執行源碼

導入成功以後,應該就沒有編譯錯誤了!此時你能夠運行一下webmagic-core項目中自帶的exmaple:"us.codecraft.webmagic.processor.example.GithubRepoPageProcessor"。

一樣,看到控制檯輸出以下,則表示源碼編譯和執行成功了!

runlog

另外廣告一下:webmagic qq羣: 330192938 有使用的問題、建議,或者對爬蟲開發感興趣的,都歡迎加入!

相關文章
相關標籤/搜索