WebMagic 简单灵活的 Java 爬虫框架

WebMagic 是一个简单灵活的 Java 爬虫框架。基于 WebMagic,你可以快速开发出一个高效、易维护的爬虫。

WebMagic 简单灵活的 Java 爬虫框架

特性:

  • 简单的API,可快速上手
  • 模块化的结构,可轻松扩展
  • 提供多线程和分布式支持

一个示例:

public class GithubRepoPageProcessor implements PageProcessor {

private Site site = Site.me().setRetryTimes(3).setSleepTime(1000).setTimeOut(10000);

@Override

public void process(Page page) {

page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-]+/[\\w\\-]+)").all());

page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-])").all());

page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString());

page.putField("name", page.getHtml().xpath("//h1[@class='entry-title public']/span/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();

}

}

下载

最新版:WebMagic-0.7.3

webmagic 使用 maven 管理依赖,在项目中添加对应的依赖即可使用 webmagic:

<dependency>

<groupId>us.codecraft</groupId>

<artifactId>webmagic-core</artifactId>

<version>0.7.3</version>

</dependency>

<dependency>

<groupId>us.codecraft</groupId>

<artifactId>webmagic-extension</artifactId>

<version>0.7.3</version>

</dependency>

项目结构

webmagic 主要包括两个包:

  • webmagic-corewebmagic 核心部分,只包含爬虫基本模块和基本抽取器。webmagic-core的目标是成为网页爬虫的一个教科书般的实现。
  • webmagic-extensionwebmagic 的扩展模块,提供一些更方便的编写爬虫的工具。包括注解格式定义爬虫、JSON、分布式等支持。

webmagic 还包含两个可用的扩展包,因为这两个包都依赖了比较重量级的工具,所以从主要包中抽离出来,这些包需要下载源码后自己编译:

  • webmagic-saxonwebmagic与Saxon结合的模块。Saxon是一个XPath、XSLT的解析工具,webmagic依赖Saxon来进行XPath2.0语法解析支持。
  • webmagic-seleniumwebmagic 与 Selenium 结合的模块。Selenium是一个模拟浏览器进行页面渲染的工具,webmagic依赖Selenium进行动态页面的抓取。

在项目中,你可以根据需要依赖不同的包。

WebMagic 简单灵活的 Java 爬虫框架

不使用 maven

不使用 maven 的用户,可以下载附带二进制jar包的版本:

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

在 bin/lib 目录下,有项目依赖的所有 jar 包,直接在 IDE 里 import 即可。

源码

  • https://git.oschina.net/flashsword20/webmagic
  • https://github.com/code4craft/webmagic
  • 中文文档:https://www.wenjiangs.com/doc/msw4xfph

以上是 WebMagic 简单灵活的 Java 爬虫框架 的全部内容, 来源链接: utcz.com/p/232661.html

回到顶部