mysqlgit获取稳定版本源码_webmagic新版⽂档(更新中)WebMagic in Action
WebMagic是⼀个简单灵活、便于⼆次开发的爬⾍框架。除了可以便捷的实现⼀个爬⾍,WebMagic还提供多线程功能,以及基本的分布式功能。
你可以直接使⽤WebMagic进⾏爬⾍开发,也可以定制WebMagic以适应复杂项⽬的需要。
1. 在项⽬中使⽤WebMagic
WebMagic主要包含两个jar包:webmagic-core-{version}.jar和webmagic-extension-{version}.jar。在项⽬中添加这两个包的依赖,即可使⽤WebMagic。
1.1 使⽤Maven
WebMagic基于Maven进⾏构建,推荐使⽤Maven来安装WebMagic。在项⽬中添加以下坐标即可:
webmagic-extension
0.4.3
WebMagic使⽤slf4j-log4j12作为slf4j的实现.如果你⾃⼰定制了slf4j的实现,请在项⽬中去掉此依赖。
webmagic-extension
0.4.3
org.slf4j
slf4j-log4j12
1.2 不使⽤Maven
不使⽤maven的⽤户,可以下载附带⼆进制jar包的版本(感谢oschina):
在lib⽬录下,有项⽬依赖的所有jar包,直接在IDE⾥,将这些jar添加到Libraries即可。
1.3 第⼀个项⽬
在你的项⽬中添加了WebMagic的依赖之后,即可开始第⼀个爬⾍的开发了!我们这⾥拿⼀个抓取Github信息的例⼦:
decraft.webmagic.Page;
decraft.webmagic.Site;
decraft.webmagic.Spider;
decraft.webmagic.processor.PageProcessor;
public class GithubRepoPageProcessor implements PageProcessor {
private Site site = ().setRetryTimes(3).setSleepTime(100);
@Override
public void process(Page page) {
page.putField("author", Url().regex("github\\/(\\w+)/.*").toString());
page.putField("name", Html().xpath("//h1[@class='entry-title public']/strong/a/text()").toString()); if (ResultItems().get("name")==null){
mysql社区版国内镜像下载//skip this page
page.setSkip(true);
}
page.putField("readme", Html().xpath("//div[@id='readme']/tidyText()"));
}
@Override
public Site getSite() {
return site;
}
public static void main(String[] args) {
}
点击main⽅法,选择“运⾏”,你会发现爬⾍已经可以正常⼯作了!
2.下载和编译源码
WebMagic是⼀个纯Java项⽬,如果你熟悉Maven,那么下载并编译源码是⾮常简单的。如果不熟悉Maven也没关系,这部分会介绍如何在Eclipse⾥导⼊这个项⽬。
2.1 下载源码
WebMagic⽬前有两个仓库:
github上的仓库保存最新版本,所有issue、pull request都在这⾥。⼤家觉得项⽬不错的话别忘了去给
个star哦!
此仓库包含所有编译好的依赖包,只保存项⽬的稳定版本,最新版本仍在github上更新。oschina在国内⽐较稳定,主要作为镜像。
⽆论在哪个仓库,使⽤
或者
即可下载最新代码。
如果你对git本⾝使⽤也不熟悉,建议看看@黄勇的 从 Git@OSC 下载 Smart 源码
2.2 导⼊项⽬
Intellij Idea默认⾃带Maven⽀持,import项⽬时选择Maven项⽬即可。
2.2.1 使⽤m2e插件
安装后,在File->Import中选择Maven->Existing Maven Projects即可导⼊项⽬。
导⼊后看到项⽬选择界⾯,点击finish即可。
2.2.2 使⽤Maven Eclipse插件
如果没有安装m2e插件,只要你安装了Maven,也是⽐较好办的。在项⽬根⽬录下使⽤命令:
mvn eclipse:eclipse
⽣成maven项⽬结构的eclipse配置⽂件,然后在File->Import中选择General->Existing Projects into Workspace即可导⼊项⽬。
导⼊后看到项⽬选择界⾯,点击finish即可。
2.3 编译和执⾏源码
导⼊成功之后,应该就没有编译错误了!此时你可以运⾏⼀下webmagic-core项⽬中⾃带的
exmaple:"us.codecraft.ample.GithubRepoPageProcessor"。
同样,看到控制台输出如下,则表⽰源码编译和执⾏成功了!
3. 基本的爬⾍
3.1 实现PageProcessor
在WebMagic⾥,实现⼀个基本的爬⾍只需要编写⼀个类,实现PageProcessor接⼝即可。这个类基本上包含了抓取⼀个⽹站,你需要写的所有代码。
以之前的GithubRepoPageProcessor为例,我将PageProcessor的定制分为三个部分:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。