WebMagic 开源项目教程
webmagicA scalable web crawler framework for Java.项目地址:https://gitcode.com/gh_mirrors/we/webmagic
1. 项目的目录结构及介绍
WebMagic 是一个用 Java 编写的可扩展的网络爬虫框架。项目的目录结构清晰,便于理解和使用。以下是主要的目录结构及其介绍:
webmagic/
├── webmagic-core/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── us/
│ │ │ │ │ ├── codecraft/
│ │ │ │ │ │ ├── webmagic/
│ │ │ │ │ │ │ ├── downloader/
│ │ │ │ │ │ │ ├── extractor/
│ │ │ │ │ │ │ ├── pipeline/
│ │ │ │ │ │ │ ├── processor/
│ │ │ │ │ │ │ ├── scheduler/
│ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ └── ...
│ │ │ └── resources/
│ │ └── test/
│ │ ├── java/
│ │ └── resources/
│ └── pom.xml
├── webmagic-extension/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── us/
│ │ │ │ │ ├── codecraft/
│ │ │ │ │ │ ├── webmagic/
│ │ │ │ │ │ │ ├── example/
│ │ │ │ │ │ │ ├── scheduler/
│ │ │ │ │ │ │ ├── utils/
│ │ │ │ │ │ │ └── ...
│ │ │ └── resources/
│ │ └── test/
│ │ ├── java/
│ │ └── resources/
│ └── pom.xml
├── webmagic-samples/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── us/
│ │ │ │ │ ├── codecraft/
│ │ │ │ │ │ ├── webmagic/
│ │ │ │ │ │ │ ├── example/
│ │ │ │ │ │ │ └── ...
│ │ │ └── resources/
│ │ └── test/
│ │ ├── java/
│ │ └── resources/
│ └── pom.xml
├── pom.xml
└── README.md
目录结构说明
webmagic-core/
: 核心模块,包含爬虫的基本组件和工具类。webmagic-extension/
: 扩展模块,提供额外的功能和插件。webmagic-samples/
: 示例模块,包含一些使用 WebMagic 的示例代码。pom.xml
: Maven 项目配置文件,定义了项目的依赖和构建配置。README.md
: 项目说明文档,包含项目的基本信息和使用指南。
2. 项目的启动文件介绍
WebMagic 的启动文件通常是一个实现了 PageProcessor
接口的类。以下是一个简单的启动文件示例:
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']/strong/a
webmagicA scalable web crawler framework for Java.项目地址:https://gitcode.com/gh_mirrors/we/webmagic