java jsoup 多線程爬蟲Miner

 

java jsoup 多線程爬蟲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 存儲方式

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章