纯java实现的网页内容采集器采集到wordpress,简约而不简单

基于正则表达式实现的纯Java网络内容采集器,专门为wordpress网站定制。

涉及子功能:

1.正则表达式匹配文本和url

2.HTTPclient抓取网页

3.图片转格式与压缩

4.中文分词与文章高频词统计

5.定时执行采集任务

6.采集规则读取、驱动

7.采集数据存储到数据库

8.读取数据库配置文件

9.图片下载并保存到指定目录

10.对文章高频词查询百度词典,并存储到词典库

11.支持采集接口,并对返回的json支持js脚本处理

  • 产品介绍

收集者网页采集器

基于实现的纯网络内容采集器,专门为网站定制。
采集任务主类:com..collect.Collecter
默认定时器类:com..collect.UdastConfigServlet

涉及子功能:

1.匹配文本和url

2.HTTPclient抓取网页

3.图片转格式与压缩

4.中文分词与文章高频词统计

5.定时执行采集任务

6.采集规则读取、驱动

7.采集数据存储到数据库

8.读取数据库配置文件

9.图片下载并保存到指定目录

10.对文章高频词查询百度词典,并存储到词典库

11.支持采集接口,并对返回的json支持脚本处理

 

采集环境配置:

CREATE TABLE `collect_config`
(
    `config_id`          int(11) NOT NULL AUTO_INCREMENT COMMENT '采集配置',
    `web_root`           varchar(256) NOT NULL COMMENT 'webroot绝对路径,以/结尾',
    `web_upload_path`    varchar(100) NOT NULL COMMENT '相对于web根目录的附件目录,固定目录,',
    `upload_path_format` varchar(40)  DEFAULT 'yyyy/MM' COMMENT '上传路径的目录组织格式(必须是日期格式)',
    `debug_mode`         varchar(10)  DEFAULT 'false' COMMENT '是否开启debug模式,true表示打印调试信息',
    `domain_name`        varchar(100) DEFAULT '' COMMENT '绑定域名',
    `dburl`              varchar(256) NOT NULL COMMENT '数据库连接字符串: jdbc:mysql://129.110.89.72:3306/dbname?useUnicode=true&characterEncoding=UTF8',
    `dbuser`             varchar(50)  NOT NULL COMMENT 'dbusername',
    `dbpass`             varchar(50)  NOT NULL COMMENT 'dbpasswd',
    `db_name`            varchar(50)  DEFAULT NULL COMMENT '要采集的内容写入的数据库名称',
    `db_pre`             varchar(50)  NOT NULL COMMENT 'wordpress数据库表前缀',
    PRIMARY KEY (`config_id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
采集规则配置:
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,下次执行时判断系统日期与采集历史日期,如果当天没有采集过执行采集)。';

数据库pdm:
collectpdm
源代码见:https://gitee.com/zltcode/collecter

另采集器运行日志实测见:解决采集图片下载失败的bug特发完美日志备忘

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《纯java实现的网页内容采集器采集到wordpress,简约而不简单
本文地址:https://www.zhiletu.com/archives-10862.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微