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

java jsoup 多线程爬虫Miner相关推荐

  1. java jsoup 网络爬虫 jsoup解析html Java爬虫 Jsoup爬虫 jsoup例子

    java jsoup 网络爬虫 java jsoup 网络爬虫 学习例子(一)抓取豆瓣电影名称+推荐星级 java jsoup 网络爬虫 学习例子(二)只抓取豆瓣电影5星(力荐)电影名称 java j ...

  2. java jsoup 网络爬虫 学习例子(八)京东和淘宝商品比价 PhantomJS

    java jsoup 网络爬虫 学习例子(八)京东和淘宝商品比价 PhantomJS /** filename getHtml.js* phantomjs.exe 2.0.0* author InJa ...

  3. java jsoup 网络爬虫 学习例子(六)京东和当当商品比价

    java jsoup 网络爬虫 学习例子(六)京东和当当商品比价 package com.iteye.injavawetrust.jdvsdd;import java.util.List;/*** * ...

  4. java jsoup 网络爬虫 学习例子(七)京东和淘宝商品比价 htmlunit

    java jsoup 网络爬虫 学习例子(七)京东和淘宝商品比价 htmlunit package com.iteye.injavawetrust.pricecheck;import java.uti ...

  5. Java 多线程爬虫及分布式爬虫架构探索

    维护待采集的 URL 多线程爬虫程序就不能像单线程那样,每个线程独自维护这自己的待采集 URL,如果这样的话,那么每个线程采集的网页将是一样的,你这就不是多线程采集啦,你这是将一个页面采集的多次.基于 ...

  6. java毕业设计——基于java+Jsoup+HttpClient的网络爬虫技术的网络新闻分析系统设计与实现(毕业论文+程序源码)——网络新闻分析系统

    基于java+Jsoup+HttpClient的网络爬虫技术的网络新闻分析系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Jsoup+HttpClient的网络爬虫技术的网络 ...

  7. 爬虫基础练习: 基于 java + Jsoup + xpath 爬取51job网站

    最基本的网页爬虫练习 爬取51jb网站,并将数据写入Excel中 需要导入jsoup包和POI相关包 JSoup简介 jsoup是一款Java的HTML解析器,主要用来对HTML解析, 可通过DOM, ...

  8. Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索

    Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...

  9. java多线程爬虫_Java 多线程爬虫及分布式爬虫架构

    在这个时间就是金钱的年代,不可能给你时间去慢慢的采集,所以单线程爬虫程序是行不通的,我们需要将单线程改成多线程的模式,来提升采集效率和提高计算机利用率.维护待采集的 URL多线程爬虫程序就不能像单线程 ...

最新文章

  1. Linux--VI命令大全
  2. 我看过的Python方面的好文章
  3. 干货!谷歌推荐的技术能力提升指南
  4. 整理javascript操作文件说明:读写文件
  5. CentOS7安装JDK1.8简单体验(java开发必备)
  6. wsl使用可视化界面_通过 VcXsrv 在 WSL2 上使用图形化界面(xfce4)
  7. 【经验谈】开发工程师人生之路
  8. 利用vue v-bind属性绑定bootstrap样式以及输出数据
  9. OpenFileDialog 打开文件对话框
  10. mac eclipse tomcat mysql_mac下使用eclipse+tomcat+mysql开发 j2ee(一)
  11. 堪称暴力美学的可视化大屏是怎么做的?附无代码硬核教程
  12. 米家小白增强固件_中考体育:男1000米/女800米想拿满分,掌握呼吸法是关键
  13. python入门——P48魔法方法:迭代器
  14. Link error 1112
  15. Linux 登陆用户时启动 ssh-agent 并在退出时关闭
  16. 3Eclipse的下载、安装、配置
  17. SGD、Adam优化器
  18. android自定义上拉刷新,Android RecyclerView自定义上拉和下拉刷新效果
  19. ps画笔工具、填充选区文字工具、合成
  20. 第十八章 数据库服务端设置及操作

热门文章

  1. Bazel编译教程(基础篇)
  2. Android工程师进阶34讲学习笔记
  3. Java实现是否为节假日、工作日判断(调用“http://api.goseek.cn/Tools/holiday”接口)
  4. python递归必须要有_Python的递归
  5. 蓝牙的Baseband说明
  6. 80C51单片机复习资料(一)
  7. python和opencv图像分割otsu关键代码
  8. java工具:通过文件头的魔数判断文件类型
  9. Java IO 之BIO讲解
  10. 服务器系统开机提示0xc000007b,示例电脑开机出现0xc000007b蓝屏解决办法