# collecter **Repository Path**: wldos/collecter ## Basic Information - **Project Name**: collecter - **Description**: 纯Java实现的基于正则表达式的网络内容采集器,可以应用于内容网站或抓取相关资讯。适合Java初学者。 - **Primary Language**: Java - **License**: BSD-3-Clause-Clear - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2020-07-17 - **Last Updated**: 2022-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 收集者网页采集器 基于正则表达式实现的纯Java网络内容采集器。 采集任务主类:com.zhiletu.collect.Collecter 默认定时器类:com.zhiletu.collect.UdastConfigServlet 涉及子功能: 1.正则表达式匹配文本和url 2.HTTPclient抓取网页 3.图片转格式与压缩 4.中文分词与文章高频词统计 5.定时执行采集任务 6.采集规则读取、驱动 7.采集数据存储到数据库 8.读取数据库配置文件 9.图片下载并保存到指定目录 10.对文章高频词查询百度词典,并存储到词典库 11.支持采集接口,并对返回的json支持js脚本处理 采集规则配置:
CREATE TABLE `collect_rule` ( `rule_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '规则编号', `url_index` varchar(500) NOT NULL COMMENT '采集索引页(主题列表)网址,比如:http://tech.domain.com.cn/discovery/', `charset` varchar(30) NOT NULL DEFAULT 'UTF-8' COMMENT '采集网页的编码', `pre_fix` varchar(256) DEFAULT NULL COMMENT 'url前缀,比如:http://xxx.com', `url_regex` varchar(256) NOT NULL DEFAULT '--' COMMENT '匹配网址列表中所有url的正则表达式(注意数据库和Java不一样,不需要转义)', `insensitive` varchar(10) DEFAULT 'false' COMMENT 'true 表示正则匹配忽略大小写,默认区分大小写', `title_regex` varchar(256) NOT NULL COMMENT '匹配文章标题正则表达式', `content_regex` varchar(256) NOT NULL COMMENT '匹配文章正文正则表达式', `need_handle` varchar(10) DEFAULT 'false' COMMENT '采集到的网址是否需要再加工,一般不需要', `pic_url_replace` varchar(50) DEFAULT NULL COMMENT '如果需要替换图片url前缀为网站url,图片要替换的部分,如果只需加上网站url,那么是:/,注意.需要正则转义', `collect_img` varchar(10) NOT NULL DEFAULT 'true' COMMENT '是否采集图片,默认采集', `png_jpg` varchar(10) DEFAULT 'true' COMMENT '是否需要转换图片格式为jpg,png,gif自动转换为jpg,方便压缩', `img_src_domain` varchar(100) NOT NULL COMMENT '图片要发布的服务域名,src属性里面的域名,如:pic.doamin.com', `collect_num` int(10) DEFAULT '5' COMMENT '采集条数', `rule_name` varchar(100) DEFAULT NULL COMMENT '规则名称', `same_word_r` varchar(10) NOT NULL DEFAULT 'true' COMMENT '是否替换同义词,默认替换,需要有同义词库支持', `cat_id` int(11) NOT NULL COMMENT '所属分类目录id', `config_id` int(11) NOT NULL DEFAULT '0' COMMENT '改规则使用的全局配置,包含绝对路径信息和域名指向', `is_valid` varchar(10) NOT NULL DEFAULT 'true' COMMENT '是否有效', `strategy_repeat` varchar(10) DEFAULT 'onlylife' COMMENT '防重复采集策略:终生一次onlylife(采集过的url不再采集)、每天采集一次dayone(采集过的url,下次执行时判断系统日期与采集历史日期,如果当天没有采集过执行采集)', `come_from` varchar(10) NOT NULL DEFAULT 'false' COMMENT '是否添加转载自', `modle_handle_bean` varchar(500) DEFAULT NULL COMMENT '要调用的后面字段内js脚本的主方法名称,比如infoHandle', `modle_handle_script` longtext CHARACTER SET utf8mb4 COMMENT '要执行的js脚本,结合文章内容或标题,按照约定的规则写脚本,并后台执行', PRIMARY KEY (`rule_id`) ) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='本规则不考虑仅执行一次的单页采集,所有规则都是要重复执行,支持设置防重复采集策略:终生一次(采集过的url不再采集)、每天采集一次(采集过的url,下次执行时判断系统日期与采集历史日期,如果当天没有采集过执行采集)。';