`
jsczxy2
  • 浏览: 1275072 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

多线程爬虫Miner [转]

阅读更多

多线程爬虫Miner  

本文转自原作者博客:http://injavawetrust.iteye.com/blog/2293799
需要配置项:
1、URL包含关键字。
2、存储方式:DB-数据库存储;FILE-文件存储。
3、爬取页面最大深度。
4、下载页面线程数。
5、分析页面线程数。
6、存储线程数。
 

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

程序中用到的表:

Sql代码  收藏代码
  1. CREATE TABLE `miner` (  
  2.   `id` varchar(32) NOT NULL,  
  3.   `batchNo` varchar(8) DEFAULT NULL,  
  4.   `filePath` varchar(255) DEFAULT NULL,  
  5.   `fileName` varchar(255) DEFAULT NULL,  
  6.   `getDate` datetime DEFAULT NULL,  
  7.   PRIMARY KEY (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

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

程序中用到的maven依赖

Xml代码  收藏代码
  1. <dependency>  
  2.     <groupId>org.jsoup</groupId>  
  3.     <artifactId>jsoup</artifactId>  
  4.     <version>1.8.3</version>  
  5. </dependency>  
  6. <dependency>  
  7.     <groupId>mysql</groupId>  
  8.     <artifactId>mysql-connector-java</artifactId>  
  9.     <version>5.1.15</version>  
  10.     <scope>provided</scope>  
  11. </dependency>  
  12. <dependency>  
  13.     <groupId>commons-logging</groupId>  
  14.     <artifactId>commons-logging</artifactId>  
  15.     <version>1.2</version>  
  16. </dependency>  

 

测试类:

Java代码  收藏代码
  1. package com.iteye.injavawetrust.miner;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5. /** 
  6.  * 测试类 
  7.  * @author InJavaWeTrust 
  8.  * 
  9.  */  
  10. public class MinerTest {  
  11.     public static void main(String[] args) {  
  12.         MinerConfig config = new MinerConfig();  
  13.         // 1、URL包含关键字。  
  14.         List<String> keys = new ArrayList<String>();  
  15.         keys.add("163");  
  16.         config.setKeys(keys);  
  17.         // 2、存储方式:DB-数据库存储;FILE-文件存储。  
  18.         config.setStoreType(StoreType.DB);  
  19.         // 3、爬取页面最大深度。  
  20.         config.setMaxDepth(2);  
  21.         // 4、下载页面线程数。  
  22.         config.setMinerHtmlThreadNum(5);  
  23.         // 5、分析页面线程数。  
  24.         config.setMiseringThreadNum(3);  
  25.         // 6、存储线程数。  
  26.         config.setMinserStoreThreadNum(3);  
  27.         // 7、设置爬取起始页面URL。  
  28.         MinerUrl minerUrl = new MinerUrl();  
  29.         minerUrl.setUrl("http://www.163.com");  
  30.         minerUrl.setDepth(1);  
  31.         Miner miner = new Miner(minerUrl, config);  
  32.         miner.start();  
  33.     }  
  34.   
  35. }  

 

爬虫 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 存储方式

分享到:
评论

相关推荐

    scrapy-redis搭建分布式爬虫环境 - 温良Miner - 博客园1

    Scrapy-Redis分布式爬虫环境搭建 Scrapy-Redis是Scrapy框架的一个插件,用于实现分布式爬虫环境。通过使用Redis作为消息队列,可以实现爬虫节点之间的通信和协作,实现高效的爬虫爬取。 Scrapy-Redis的主要组件...

    rapidminer使用手册 [RapidMiner数据分析与挖掘实战] 全17章

    《RapidMiner数据分析与挖掘实战》是一本全面介绍RapidMiner工具的指南,涵盖了从基础操作到高级应用的17个章节。RapidMiner是一款强大的数据挖掘和分析平台,广泛应用于人工智能领域。本手册旨在帮助用户掌握其核心...

    Rapidminer中文手册

    RapidMiner是一款功能强大的数据挖掘工具,广泛应用于数据分析和处理领域。由于其简洁的用户界面和强大的数据处理能力,RapidMiner在业界和学术界得到了广泛的应用。RapidMiner提供了丰富的数据挖掘算法,包括分类、...

    Rapidminer开发者版

    总结起来,Rapidminer开发者版是一个全面的数据挖掘解决方案,涵盖了数据预处理、建模、评估和自定义开发等多个方面,适用于各种规模的项目,无论是教育、研究还是非商业应用,都能发挥出强大的效力。通过熟练掌握...

    RapidMiner数据分析与挖掘实战

    RapidMiner也支持集成学习,如Bagging、Boosting和Stacking等,这些方法通过组合多个模型来提升预测性能。此外,特征选择和模型评估也是重要的部分,本教程可能会介绍如何使用RapidMiner内置的算子进行特征重要性...

    rapidminer资料

    RapidMiner是一款流行的开源数据挖掘工具,它以灵活的功能和易用性受到广泛欢迎,特别适合初学者入门数据挖掘。以下是RapidMiner中涵盖的关键知识点。 ### 基本术语 - **属性(Attributes)和目标属性(Target ...

    pdfminer-docs

    PDFMiner是一个专门用于从PDF文档中提取信息的工具,与其它的PDF处理工具不同,它主要关注于获取和分析文本数据。使用PDFMiner可以精确地获取页面中文本的位置以及字体和行等信息。PDFMiner包含一个能够将PDF文件...

    快速数据挖掘数据分析实战RapidMiner工具应用第2章 RapidMiner简介V1.1.pdf

    RapidMiner Studio包含了1500多个专业数据分析流程:从数据划分到以市场为基础的分析,再到属性生成,它包含了所有您需要的数据挖掘工具。同时也包含了文本挖掘,网页挖掘,对来自网络论坛的信息的自动情感分析...

    RapidMiner数据分析与挖掘实战——中文

    RapidMiner是一款流行的分析工具,支持数据挖掘、机器学习、文本挖掘和预测分析等任务。它提供了直观的图形界面,让数据分析者可以很方便地进行数据处理、模型构建和评估等操作。 在描述中提到的“学习RapidMiner挺...

    rapidminer最新版用户手册

    11. 数据生成(Data Generation):这部分内容介绍了如何在RapidMiner中生成数据,包括添加噪声(Add Noise)、生成数据(Generate Data)、生成直接邮寄数据(Generate Direct Mailing Data)、生成多标签数据...

    RapidMiner_7-算子手册(中文部分翻译)

    RapidMiner的手册中提到了很多关于数据访问和存储的操作符,接下来将围绕这些操作符进行详细的知识点介绍。 ### 数据访问与存储 #### 文件访问 - **读取操作**:RapidMiner支持读取多种格式的文件,包括ARFF、...

    rapidminer中文教程

    RapidMiner具有丰富数据挖掘分析和算法功能,常用于解决各种的商业关键问题,如营销响应率、客户细分、客户忠诚度及终身价值、资产维护、资源规划、预测性维修、质量管理、社交媒体监测和情感分析等典型商业案例。...

    rapidminer源码

    RapidMiner是一款强大的数据挖掘和机器学习工具,其源码开放,允许用户深入理解其工作原理并进行定制化开发。这个"rapidminer源码"压缩包包含的是RapidMiner的源代码,提供了对这款软件核心功能的完整访问。下面我们...

    华为-大数据分析工具FusionInsight Miner介绍.pdf

    它支持从低维(几十维)到高维(几千维)甚至超高维(百万维)的数据分析,通过多语言交互式分析挖掘,满足不同技能水平使用者的需求。支持的语言包括SQL、Scala、Python、R等,这些语言都能通过Notebook Kernel ...

    RapidMiner5.0使用手册

    文档内容详尽,不仅对RapidMiner软件的背景知识进行了介绍,还提供了安装指南、操作方法、分析流程设计、结果展示等多方面的详细使用说明。 文档一开始即对数据挖掘的基本术语和概念进行了定义和解释。例如,...

    RapidMiner数据分析与挖掘实战_中文版

    第十七章“宏、循环和数据集处理”则深入到高级话题,如如何利用宏实现重复任务的自动化,以及如何使用循环结构处理多个数据集,极大地提高了工作效率。 第五章“数据管理:资源库”讲述了如何有效地组织和管理数据...

    pdfminer.six-master.zip

    8. **多语言支持**:PDFminer.six支持多种语言的文本处理,包括非拉丁字符集,如中文、日文和韩文等,这对于处理多语言文档非常有帮助。 9. **分页和区域选择**:用户可以选择提取特定页面或页面范围内的内容,也...

    TheMiner 中文版

    The Miner是由加拿大的Jean Philippe Auclair(jpauclair net)开发的Flash性能分析器 profiler 其前身为开源的FlashPreloadProfiler The Miner虽然现在已“沦为”商业软件 但...开源项目)仍可以免费自由下载使 [更多]

    SAS Enterprise Miner 5.1_CN

    5. **集成的工作流管理**:允许用户将多个分析步骤组织成一个完整的工作流,并可以保存和重用这些工作流。 ### 三、SAS Enterprise Miner 5.1_CN的主要功能模块 - **数据导入与管理**:可以从各种来源(如数据库、...

    RapidMiner and RapidAnalytics

    RapidMiner

Global site tag (gtag.js) - Google Analytics