基础环境及工具
-
java 的开发环境JDK(没有安装过可以看这个
-
开发工具IDEA
新建程序
新建程序为新建的程序设置JDK版本
设置JDK版本
name设置项目名,location设置项目保存路径
新建完项目后配置依赖文件
文件位置:WebMagicSpider/pom.xml
将以下xml文件粘贴进去等待maven下载所需包
<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>
配置日志文件
文件位置在:WebMagicSpider/src/main/resources/
新建文件名为log4j.properties
日志文件
将以下代码粘贴进去
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
之前没有配置日志文件运行程序后会报错
log4j:WARN No appenders could be found for logger (us.codecraft.webmagic.scheduler.QueueScheduler).
log4j:WARN Please initialize the log4j system properly.
没有日志文件报错
新建类,以下是代码(代码来自)
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.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/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();
}
}
我在运行时报错
Information:java: javacTask: 源发行版 6 需要目标发行版 1.6
Information:java: Errors occurred while compiling module 'WebMagic'
原因是当前程序jdk版本不对在设置里修改一下即可
修改jdk
我这里将1.5改为1.6你可以根据你的报错修改合适版本号即可
修改jdk
以上程序可以正常运行
网友评论