多线程爬虫Miner

 

多线程爬虫Miner  


需要配置项:
1、URL包含关键字。
2、存储方式:DB-数据库存储;FILE-文件存储。
3、爬取页面最大深度。
4、下载页面线程数。
5、分析页面线程数。
6、存储线程数。
 

-------------------------------------------

程序中用到的表:

CREATE TABLE `miner` (
  `id` varchar(32) NOT NULL,
  `batchNo` varchar(8) DEFAULT NULL,
  `filePath` varchar(255) DEFAULT NULL,
  `fileName` varchar(255) DEFAULT NULL,
  `getDate` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-------------------------------------------

程序中用到的maven依赖

<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.8.3</version>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.15</version>
	<scope>provided</scope>
</dependency>
<dependency>
	<groupId>commons-logging</groupId>
	<artifactId>commons-logging</artifactId>
	<version>1.2</version>
</dependency>

 

测试类:

package com.iteye.injavawetrust.miner;

import java.util.ArrayList;
import java.util.List;
/**
 * 测试类
 * @author InJavaWeTrust
 *
 */
public class MinerTest {
	public static void main(String[] args) {
		MinerConfig config = new MinerConfig();
		// 1、URL包含关键字。
		List<String> keys = new ArrayList<String>();
		keys.add("163");
		config.setKeys(keys);
		// 2、存储方式:DB-数据库存储;FILE-文件存储。
		config.setStoreType(StoreType.DB);
		// 3、爬取页面最大深度。
		config.setMaxDepth(2);
		// 4、下载页面线程数。
		config.setMinerHtmlThreadNum(5);
		// 5、分析页面线程数。
		config.setMiseringThreadNum(3);
		// 6、存储线程数。
		config.setMinserStoreThreadNum(3);
		// 7、设置爬取起始页面URL。
		MinerUrl minerUrl = new MinerUrl();
		minerUrl.setUrl("http://www.163.com");
		minerUrl.setDepth(1);
		Miner miner = new Miner(minerUrl, config);
		miner.start();
	}

}

 

爬虫 MINER   程序列表:

 

Html.java 存储页面信息类
Miner.java 爬虫启动类
MinerBean.java 数据库表 miner bean
MinerConfig.java 爬取配置类
MinerConstanits.java 常量类
MinerDB.java 数据库工具类
MinerHtmlThread.java 爬取页面线程
MinerMonitorThread.java 监控线程
MinerQueue.java 访问队列
MinerStoreThread.java 存储线程
MinerThreadPool.java 线程池
MinerUrl.java 解析页面后存储URL类
MinerUtil.java 爬虫工具类
MiseringThread.java 解析页面线程
StoreType.java 存储方式

 

 

 

 

 

 

转载于:https://www.cnblogs.com/muyuge/p/6152050.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值