java爬虫源码_开源JAVA爬虫crawler4j源码分析

开源JAVA爬虫crawler4j源码分析

使用crawler4j非常简单,源码中已经包涵了很多的例子,并且是直接就可以运行的。

首先运行pom.xml,或者是直接下载依赖库:

1.运行Example

打开edu.uci.ics.crawler4j.examples.basic下的BasicCrawlController,就一个main方法,注释掉前3行,改下目录和线程数:

/*if

(args.length != 2) {

System.out.println("Needed parameters: ");

System.out.println("\t rootFolder (it will contain

intermediate crawl data)");

System.out.println(999DOC.COM)("\t numberOfCralwers (number

of concurrent threads)");

return;

}*/

/* *爬取时数据临时存放目录. */

String crawlStorageFolder = "./tmp";

/* *爬取线程数,即同时有多少个爬虫工作. */

int numberOfCrawlers = 5;

保存,运行,程序就开始输出爬取出来的信息了。看,多简单!

翻到BasicCrawlController最后,修改入口URL:

/*

*添加入口URL

*/

controller.addSeed("http://www.ics.uci.edu/");

controller.addSeed("http://www.ics.uci.edu/~lopes/");

controller.addSeed("http://www.ics.uci.edu/~welling/");

/*

*开始工作

*/

controller.start(BasicCrawler.class,

numberOfCrawlers);

3.输出指定信息

打开BasicCrawler,修改visit方法:

4.爬取指定规则页面

很简单,直接修改BasicCrawler的shouldVisit方法:

默认不爬不能解析的格式,如音乐视频,默认只爬URL是http://www.ics.uci.edu开头的,修改方法和正则就可以了。

5.爬取指定数量和深度的页面

回到BasicCrawlController,找到下面两行代码,修改就可以了:

/*

*深度,即从入口URL开始算,URL是第几层。如入口A是1,从A中找到了B,B中又有C,则B是2,C是3

*/

config.setMaxDepthOfCrawling(2);

/*

*最多爬取多少个页面

*/

config.setMaxPagesToFetch(1000);

使用就这么简单,后面再介绍代码和原理。

使用crawler4j非常简单,源码中已经包涵了很多的例子,并且是直接就可以运行的。

首先运行pom.xml,或者是直接下载依赖库:

1.运行Example

打开edu.uci.ics.crawler4j.examples.basic下的BasicCrawlController,就一个main方法,注释掉前3行,改下目录和线程数:

/*if

(args.length != 2) {

System.out.println("Needed parameters: ");

System.out.println("\t rootFolder (it will contain

intermediate crawl data)");

System.out.println("\t numberOfCralwers (number of

concurrent threads)");

return;

}*/

/* *爬取时数据临时存放目录. */

String crawlStorageFolder = "./tmp";

/* *爬取线程数,即同时有多少个爬虫工作. */

int numberOfCrawlers = 5;

保存,运行,程序就开始输出爬取出来的信息了。看,多简单!

翻到BasicCrawlController最后,修改入口URL:

/*

*添加入口URL

*/

controller.addSeed("http://www.ics.uci.edu/");

controller.addSeed("http://www.ics.uci.edu/~lopes/");

controller.addSeed("http://www.ics.uci.edu/~welling/");

/*

*开始工作

*/

controller.start(BasicCrawler.class,

numberOfCrawlers);

3.输出指定信息

打开BasicCrawler,修改visit方法:

4.爬取指定规则页面

很简单,直接修改BasicCrawler的shouldVisit方法:

默认不爬不能解析的格式,如音乐视频,默认只爬URL是http://www.ics.uci.edu开头的,修改方法和正则就可以了。

5.爬取指定数量和深度的页面

回到BasicCrawlController,找到下面两行代码,修改就可以了:

/*

*深度,即从入口URL开始算,URL是第几层。如入口A是1,从A中找到了B,B中又有C,则B是2,C是3

*/

config.setMaxDepthOfCrawling(2);

/*

*最多爬取多少个页面

*/

config.setMaxPagesToFetch(1000);

使用就这么简单,后面再介绍代码和原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值