`
jsczxy2
  • 浏览: 1287423 次
  • 性别: 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 存储方式

分享到:
评论

相关推荐

    python爬虫代码(包括ppt,word,影视地址链接,电子书爬取)

    Scrapy则是一个功能强大的框架,支持多线程、中间件、请求队列等功能,适合大型项目的爬取。 4. **网页解析**:HTML和CSS选择器是解析网页内容的基础工具。通过学习XPath和CSS选择器,你可以准确地定位到网页中的...

    python自动化办公教程

    3. **线程管理**:多线程编程,提升程序并发性能。 这些章节的习题旨在巩固所学知识,通过实践加深理解,使读者能够灵活运用Python实现各种办公自动化任务。通过学习本教程,读者可以大大提高工作效率,减轻重复性...

    提取文件中的超级链接.rar

    同时,如果文件数量庞大,可能需要批量处理,这就涉及到文件遍历和多线程/异步处理等高级技巧。 总的来说,提取文件中的超级链接是一个涉及多种技术和工具的综合任务,需要根据具体需求灵活选用合适的方法。通过...

    Python-掘金翻译计划翻译掘金上优质的英文文章

    Python作为一种通用编程语言,其应用广泛,不仅限于Web开发、数据分析,还深入到人工智能、自动化脚本、网络爬虫等多个方向。因此,"其它杂项"可能包含Python在这些不同场景下的实践案例、最佳实践、工具介绍等内容...

    javaee电子商城系统课程设计样本.doc

    javaee电子商城系统课程设计样本.doc

    scratch少儿编程逻辑思维游戏源码-糖果大爆险.zip

    scratch少儿编程逻辑思维游戏源码-糖果大爆险.zip

    spring-boot-2.7.2.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    spring-boot-1.3.6.RELEASE.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    GIS安装施工综合方案.doc

    GIS安装施工综合方案.doc

    基于PHP+CSS+JS+MySQL的选题系统源码——B/S架构下多角色登录与权限管理

    内容概要:本文详细介绍了选题系统源码,涵盖PHP、CSS、JavaScript和MySQL四种核心技术。系统采用B/S架构,支持管理员、审核员、教师和学生四种身份登录,每种身份有独立的功能权限。文中提供了详细的环境搭建指南,如使用phpStudy和Navicat进行项目管理和数据库操作。此外,还展示了关键代码片段,如登录验证、权限管理、数据库设计以及界面优化方法。同时,针对性能优化提出了建议,如解决N+1查询问题的方法。 适合人群:适用于有一定编程基础,尤其是对PHP和Web开发感兴趣的开发者和技术爱好者。 使用场景及目标:① 学习并掌握B/S架构的应用开发流程;② 实践多角色登录和权限管理的具体实现;③ 提升Web应用的界面优化和用户体验;④ 掌握数据库设计和性能优化技巧。 其他说明:本文不仅提供了完整的代码示例,还包括了详细的开发文档和支持材料,帮助读者快速上手并深入理解整个项目的构建过程。

    scratch少儿编程逻辑思维游戏源码-下水道冒险猫.zip

    scratch少儿编程逻辑思维游戏源码-下水道冒险猫.zip

    scratch少儿编程逻辑思维游戏源码-下雨时向北的路.zip

    scratch少儿编程逻辑思维游戏源码-下雨时向北的路.zip

    三相下垂双逆变器同步并联控制技术的研究与应用

    内容概要:本文深入探讨了三相下垂双逆变器同步并联控制技术,重点介绍了下垂控制的基本原理及其在微电网中的应用。文章详细解释了下垂控制如何通过调整频率和电压幅值来实现负载的自动分配,并讨论了在多台逆变器并联时可能出现的环流问题以及解决方案,如虚拟阻抗法。此外,还介绍了同步环节的关键技术,特别是改进型锁相环的应用,并提供了具体的实现代码示例。最后,文章分享了一些实用的调试技巧和经验,强调了参数整定的重要性。 适用人群:从事电力电子、微电网控制领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解三相下垂双逆变器同步并联控制技术的工程师和科研人员,旨在帮助他们掌握核心技术,解决实际工程中的问题。 其他说明:文中提供的代码示例和调试方法有助于读者更好地理解和应用相关技术,提高系统的稳定性和性能。

    spring-data-redis-1.2.1.RELEASE.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    GEPLC机组自动化装置编程使用说明书.doc

    GEPLC机组自动化装置编程使用说明书.doc

    scratch少儿编程逻辑思维游戏源码-我的领土.zip

    scratch少儿编程逻辑思维游戏源码-我的领土.zip

    spring-boot-1.3.3.RELEASE.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    scratch少儿编程逻辑思维游戏源码-我的世界 MMO V1.6.zip

    scratch少儿编程逻辑思维游戏源码-我的世界 MMO V1.6.zip

    scratch少儿编程逻辑思维游戏源码-坦克(1).zip

    scratch少儿编程逻辑思维游戏源码-坦克(1).zip

    GSM移动通信网容量解决方案.doc

    GSM移动通信网容量解决方案.doc

Global site tag (gtag.js) - Google Analytics