rootgrandfather/collector: 这是一个由golang编撰
优采云 发布时间: 2020-08-25 01:41rootgrandfather/collector: 这是一个由golang编撰
万能文章采集器(collector)
这是一个由golang编撰的采集器,可以手动辨识文章列表和文章内容。使用它来采集文章并不需要编撰正则表达式,你只须要提供文章列表页的联接即可。
为什么会有这个万能文章采集器万能文章采集器能采集哪些内容
本采集器可以采集到的的内容有:文章标题、文章关键词、文章描述、文章详情内容、文章作者、文章发布时间、文章浏览量。
什么时候须要使用到万能文章采集器
当我们须要给网站采集文章的时侯,本采集器就可以派上用场了,本采集器不需要有人值守,24小时不间断运行,每隔10分钟都会手动遍历一遍采集列表,抓取收录有文章的联接,随时将文字抓取回去,还可以设置手动发布,自动发布到指定文章表中。
万能文章采集器可用在那里运行
本采集器可用运行在 Windows系统、Mac 系统、Linux系统(Centos、Ubuntu等),可用下载编译好的程序直接执行,也可以下载源码自己编译。
万能文章采集器可用伪原创吗
本采集器暂时还不支持伪原创功能,后期会降低适当的伪原创选项。
如何安装使用
go env -w GOPROXY=https://goproxy.cn,direct
最后执行下边命令
go mod tidy
go mod vendor
go build
编译结束后,配置config。重命名config.dist.json为config.json,打开config.json,修改mysql部份的配置,填写为你的mysql地址、用户名、密码、数据库信息,导入mysql.sql到填写的数据库中,然后双击运行可执行文件即可开始采集之旅。
添加待采集文章列表说明
第一版仍未有可视化界面,因此须要你使用数据库工具打开fe_article_source 表,在里面填充采集列表,只须要将须要采集的列表填写到url数组即可,一行一个。
config.json配置说明
{
"mysql": { //数据库配置
"Database": "collector",
"User": "root",
"Password": "root",
"Charset": "utf8mb4",
"Host": "127.0.0.1",
"TablePrefix": "fe_",
"Port": 3306,
"MaxIdleConnections": 1000,
"MaxOpenConnections": 100000
},
"server": { //采集器运行配置
"SiteName" : "万能采集器",
"Host" : "localhost",
"Env" : "development",
"Port" : 8088
},
"collector": { //采集规则
"ErrorTimes": 5, //列表访问错误多少次后抛弃该列表连接
"Channels": 5, //同时使用多少个通道执行
"TitleMinLength": 6, //最小标题长度,小于该长度的会自动放弃
"ContentMinLength": 200, //最小详情长度,小于该长度的会自动放弃
"TitleExclude": [ //标题不包含关键词,出现这些关键词的会自动放弃
"法律声明",
"关于我们",
"站点地图"
],
"TitleExcludePrefix": [ //标题不包含开头,以这些开头的会自动放弃
"404",
"403",
"NotFound"
],
"TitleExcludeSuffix": [ //标题不包含结尾,以这些开头的会自动放弃
"网站",
"网",
"政府",
"门户"
],
"ContentExclude": [ //内容不包含关键词,出现这些关键词的会自动放弃
"ICP备",
"政府网站标识码",
"以上版本浏览本站",
"版权声明",
"公网安备"
],
"ContentExcludeLine": [ //内容不包含关键词的行,出现这些关键词的行会自动放弃
"背景色:",
"时间:",
"作者:",
"qrcode"
]
},
"content": { //自动发布设置
"AutoPublish": true, //是否自动发布,true为自动
"TableName": "fe_new_article", //自动发布到的文章表名
"IdField": "id", //文章表的id字段名
"TitleField": "title", //文章表的标题字段名
"CreatedTimeField": "created_time", //文章表的发布时间字段名,时间戳方式
"KeywordsField": "keywords", //文章表的关键词字段名
"DescriptionField": "description", //文章表的描述字段名
"AuthorField": "author", //文章表的作者字段名
"ViewsField": "views", //文章表的浏览量字段名
"ContentTableName": "fe_new_article_data", //如果文章内容表和文章表不是同一个表,则在这里填写指定表面,如果相同,则填写相同的名称
"ContentIdField": "id", //文章内容表的id字段名
"ContentField": "content" //文章内容表或文字表的id字段名
}
}
开发计划协助建立
欢迎有能力有贡献精神的个人或团体参与到本采集器的开发建立工作中来,共同构建采集功能。请fork一个分支,然后在里面更改,修改完了递交pull request合并恳求。