پرش به مطلب اصلی

搜索任务引擎

一、概述

什么是msray-plus的搜索任务引擎?
核心功能通俗概括:导入一批要采集的关键词,获得一个或多个搜索引擎返回的搜索结果的格式化数据;

给定一个txt文件,里面一行一个关键词。搜索任务即可批量并发的把文件中的所有关键词都利用一个或多个搜索引擎检索结果。

检索到结果后,软件还可以自动去除重复记录,以及根据用户启用的过滤器,把需要过滤的数据剔除。之后,软件会实时存储采集结果到文件中,并支持自定义导出excel或者txt文件、自定义导出的字段、自定义导出的数据采集时间范围等。

比如,要通过百度引擎,采集“msray”、“chatgpt”、"golang"等等多个词的相关的搜索结果资料,则新建一个txt,按行录入上述3个需要搜索的关键词。

这个txt文件,就是我们所说的搜索引擎任务的"种子文件"。

特性:

1. 多搜索引擎并发搜索、各个搜索引擎都支持自定义不同的线程数;
2. 支持自动去重复;
3. 支持自定义过滤器规则;
4. 支持自定义存储字段;
5. 支持自定义导出字段与文件格式;
6. 支持失败自重试;
7. 支持采集相关词并自动拓展成为种子词,实现无限采集;
8. 支持从采集结果中提取网页关键词拓展到种子词队列,实现无限采集,并支持自定义扩展线程数;
9. 支持存储进度,以及存储已采集完成关键词数据;
10. 实时显示每个搜索引擎的采集池进度、结果数、重复数、被过滤数等等;
11. 支持自定义时间(一小时为单位)自动分割采集结果;
12. 支持自定义每次采集的数据备注;
13. 同时支持前端与后端实时查看运行日志,显示每条结果是否重复、是否被过滤等。

二、视频一览

机器配置:内存为16G,CPU为:i5-11400 @2.60GHZ 宽带为家庭宽带300M。

1:搜索任务之google搜索结果采集实测

视频地址:https://www.bilibili.com/video/BV1pF3UetEKs/

2:搜索任务之百度搜索结果采集实测

视频地址:https://www.bilibili.com/video/BV1dD3qeXE27/

三、支持的搜索引擎

搜索引擎别名官网评级简介
百度搜索-电脑版baidu_pcwww.baidu.com★★★★★电脑端百度引擎,无需HTTP代理即可快速爬取数据!支持采集资讯![无需代理][可多线程持续采集]
百度搜索-移动版baidu_mobilem.baidu.com★★移动端百度引擎,无需HTTP代理即可快速爬取数据!支持采集资讯![无需代理][建议搭配代理多线程持续采集]
谷歌搜索googlewww.google.com★★★★★谷歌引擎官网版!所有结果均来自于谷歌官方。[需要海外线路][建议搭配代理多线程持续采集]
雅虎搜索yahoowww.yahoo.com★★★★雅虎是曾经的全球第一门户搜索网站,业务遍及24个国家和地区,为全球超过5亿的独立用户提供多元化的网络服务[需要海外代理][可多线程持续采集]
必应搜索bingwww.bing.com★★★必应引擎,国际知名主流引擎之一! [无需代理][建议搭配代理多线程持续采集]
搜狗搜索sougouwww.sougou.com★★★★搜狗搜索是全球第三代互动式搜索引擎,支持微信公众号和文章搜索、知乎搜索、英文搜索及翻译等
神马搜索shenmam.sm.cn★★★神马是全球第一款完全基于移动互联网的搜索引擎[无需代理][可持续采集][可多线程]
Yandexyandexwww.yandex.com★★★★俄罗斯最大的搜索引擎,也是全球知名主流搜索引擎之一,全球排名第五![建议搭配代理多线程持续采集]
DuckDuckGoduckduckgowww.duckduckgo.com★★★DuckDuckGo全球搜索引擎,承诺不监控、不记录使用者的搜寻内容[建议搭配代理多线程持续采集]
StartPagestartpagewww.startpage.com★★★被称为“世界上最私密的搜索引擎”,能够获得与从完全私密的Google搜索中看到的结果相似的结果![需要海外代理][建议搭配代理多线程持续采集]

四、搜索任务界面说明

1: msray-plus 搜索任务主界面

msray-plus 搜索任务主界面

主界面主要显示的是总览数据。其中的活跃线程数,是勾选的所有搜索引擎当前对应实际运行的写成数量的总和。

2: msray-plus 搜索任务 引擎信息界面

msray-plus 搜索任务 引擎信息界面

引擎信息选项卡界面,会把选择启动的所有搜索引擎的线程池信息都显示出来。这里因为仅开启了百度引擎,所以仅显示了百度!该数据可以作为参考。

3: 扩展词库界面

如果开启了自动扩展相关词,则扩展词库界面会显示本次任务搜索的关键词对应的相关搜索词(来源于搜索引擎)。如图:

备注:该数据仅显示本次运行的任务相关词信息。重启软件后会消失。

4: 清除数据按钮说明

在界面的右侧,有个清除数据按钮。功能如下:

1:清除当前引擎任务总采集结果数据;

2:清除当前引擎任务的进度信息(当前选择的种子文件的进度信息);

3:清除当前引擎任务缓存的任务统计数据信息;

特别说明:清除总采集结果数据,不会导致后期采集到重复数据。仅当点击软件首页右下角的“清除总域名数据(重复过滤数据表)”或"清除总网址数据(重复过滤数据表)"才会初始化防重复服务的数据。

五、参数配置说明

参数分为“常规设置”与“进阶设置”2个子界面。如果无特殊需要,大部分参数都可以保留默认,仅需选择自己的种子文件即可。也可以仅配置常规设置。

常规设置

进阶设置

如上图所示,按自己的情况进行配置即可。大部分参数都可以使用默认设置即可。其中,有一些比较重要的设置技巧,下文进行详细说明!同时,也可以鼠标移动到参数列旁边的“问号图标”上,就会显示说明信息哦!

1:重点!种子文件说明

备注说明

搜索引擎任务,种子文件的内容格式为:一行一个关键词! 注意,是关键词!关键词!关键词! 弄错了的话,是采集不到东西的!

可选择上传文件以及选择本地文件两种方案去设置种子文件。分两种情况使用:

1:如果主程序与客户端处于同一台电脑,特别是种子文件比较大的时候,则建议使用"选择本地文件"方案! 具体操作如下:手工把种子文件移动到主程序根目录下的seed/search_task 目录下!之后,就可以使用选择本地文件的方法直接选择了!

2:如果主程序与客户端不属于同一个电脑以及或者种子文件比较小,则建议使用"上传文件"方案!

注意事项

如果是上百兆的大种子文件,建议手工复制到程序对应目录,减少上传失败以及速度慢的问题!

2:重点!重复判断类型该如何选择?

重复判断类型,分类按域名以及按网址两种。

什么是域名?

www.msray.cn 与 msray.cn、user.msray.cn 都属于域名!

什么是网址?

http://www.msray.cn、https://www.msray.cn、http://www.msray.cn/doc、http://www.msray.cn/xxxx.html 都属于网址!

例子: 比如搜索"java教程",百度搜索结果包含了以下数据:

1: https://www.aaa.com/1.html  
2: https://www.aaa.com/x/x.html
3: https://www.aaa.com/1.php?id=x
4: https://www.bbb.com/x/x.html
5: https://www.bbb.com/y
6: https://www.ccc.com/
7: https://www.ddd.net/1.html

1:如果重复判断类型,为"按域名",则:
第1条结果https://www.aaa.com/1.html存储后,第2条、第3条都会被判定为重复,被过滤掉。
第4条结果https://www.bbb.com/x/x.html 存储后,第5条结果会被判定为重复,被过滤掉。
因为,虽然页面URI(网址)不一样,但是域名一样,最多只保留一条!

2:如果重复判断类型,为"按网址",则以上结果都会被保存。因为上述7条结果都是属于不同的网址。除非URI完全一致。

3:“全局按域名”,是软件所有的任务模块的采集结果中都不会出现重复数据,比如在搜索任务引擎中,采集到了xxx.com,那么如果爬虫任务引擎中也采集到了xxx.com就会被过滤掉,不会再次进行存储!

4:而“单模块-按域名”,是仅仅软件的某个引擎内结果不重复。比如选择“单模块-按域名”,则搜索任务引擎内部的数据不会重复,但是可能与爬虫任务引擎中的数据重复。

重点!注意事项

如果导出结果想要只导出域名,这建议重复判断类型为"按域名"。否则就会导出结果"伪重复"! 因为如果重复判断类型按网址,那么同一个域名的多个不同网址页面的结果确实是不重复的,但导出的只是不重复网址的域名部分,所以看起来像是结果重复,其实这是设置的问题!

3:搜索引擎的勾选说明

如果没有隧道代理,建议仅勾选百度电脑版以及必应. 每个引擎对应的推荐使用线程以及情况,可查阅搜索引擎章节的对应详细内容。

备注说明

1:不是勾选的引擎越多,采集的结果就更快和更多;
2:部分引擎需要科学上网或者使用海外线路服务器才可访问与采集;
3:线程数不是越多就越快,太多可能反而导致瞬间被搜索引擎屏蔽IP,除非拥有隧道代理!

4:存储字段的勾选说明

如非必要,建议只勾选默认的网址域名。 开启其他字段,会一定程度的降低采集效率。特别是开启语言编码 效率可能减半。

备注说明

以下是各个字段对效率影响的评级,越高降低的效率则越:

标题: 低
描述: 低
状态码:低
IP: 中下
IP归属地:中上
语言编码:高

5:最大搜索页码设置说明

建议范围:1-10

注意,本参数的设定,如果是按域名进行重复哦按段,则很影响采集效率(增加重复过滤率)。 原因如下:

搜索引擎返回的搜索结果,即使每页有10条结果,可能去除重复域名之后,就只剩下5条了。特别是除了前3页之后的数据,同域名的结果更多(大网站权重高,排名好)。这样就会导致即使采集到了搜索结果,也会被重复过滤掉,结果数量并不会增加。

举个例子:百度搜索"PHP"

Alt text

从上图中可以看到,图中的11条结果,有9条属于百度百科域名,有2条属于"php.net"域名,那么如果按域名进行重复判断,11条结果实际上只有2条结果是不重复的域名!!

Alt text

接着看后面页,10条结果中,有6条搜索结果又全部属于"php.net"域名,那么因为前面我们已经存储过"php.net“域名的结果了,那么这6条结果,都会被重复过滤掉 ,不会增加结果数量。

6:请求超时时间

如果网络不稳定,建议增加超时时间数值。建议值的范围为“5-30”。单位为秒

7:过滤方案

在参数配置里面,可以选择是否使用过滤方案。默认为不使用。如果使用,需要先去过滤方案管理界面提前设置好规则!

过滤方案规则的详细说明,可以参考文档《过滤方案与过滤器简介》 以及过滤方案章节下面的其他内容。

同时,我们也整了常用的大量的过滤方案规则,用户可以直接复制导入到软件中使用。具体参考《过滤方案分享》

8:网页关键词拓展

网页关键词,指的是网站meta标签中的恶keyword中的值,即网站关键词。如图:

Alt text

如果开启了"网页关键词拓展",则msray-plus会自动从采集到的结果中,提取结果网站上的关键词信息,然后自动拓展作为种子关键词数据,实现无限采集的功能概念!

如果只想采集自己录入的种子关键词,请关闭网页关键词拓展相关词自动拓展。否则系统会自动增加其他关键词并自动进行采集。

备注说明

如果开启了网页关键词拓展相关词自动拓展,则该任务一定程度上相当于无限采集,不会自动停止!

9:相关词自动拓展说明

相关词,指的是搜索引擎的搜索结果页面上,显示的与用户输入的关键词有关联的相关词。这里以百度为例,如图:

Alt text

如果开启了相关词自动拓展,则msray-plus会在获取搜索结果的同时,提取出相关词,然后自动拓展作为种子关键词数据,实现无限采集的功能概念!

如果只想采集自己录入的种子关键词,请关闭网页关键词拓展相关词自动拓展。否则系统会自动增加其他关键词并自动进行采集。

备注说明

如果开启了网页关键词拓展相关词自动拓展,则该任务一定程度上相当于无限采集,不会自动停止!

10:WEBHOOK功能与配置说明

WEBHOOK功能接口,可实现采集结果的实时推送服务。每当任务采集到结果,就会自动以http形式发送采集结果的详细信息到设置的WEBHOOK地址,类似于支付接口等系统的异步通知的概念。

备注说明

根据此接口,我们可以做自定义扩展开发,比如把采集到的数据,存储到数据库中,又或者是自动导入到其他第三方软件中。

详细的数据推送格式与数据接收接口开发例子,请等待上线接口说明文档和DEMO。

11:结果切割时频配置说明

结果切割时频的值如果不为0,则软件会对采集结果自动按时间(单位为小时)进行分割。默认结果切割时频的值为1,也就是每小时都将生成一个结果的子文件。
同时,总文件与子文件可同样存在。用户既可以按时间去导出子文件的结果,也可以直接导出总文件的结果!

备注说明

子文件按时间生成文件名,存储在主程序根目录下的result/search_task目录下。该功能可以防止每次导出结果都是全部数据,也包含了历史已经导出的数据的情况。我们只需要按子文件导出结果即可避免该问题。

同时,您也可以导出结果后,点击任务界面的清除数据按钮,即可清空历史数据。

12:任务备注配置说明

每次启动任务之前,我们可以给当前任务设置一个自定义备注! 比如本次任务我们要采集一批与生态板相关的行业网站,那么我们可以备注"生态板"。

启动任务后,每条采集的结果的源数据信息里面, 就会自动包含我们设置的备注信息。与此同时,我们可以在导出选项中,使用"按备注"导出!

备注说明

该功能可以实现区分每次任务的采集目标,方便导出结果的按备注提取。您可以理解为,备注功能实现了多任务系统的分离。

比如,我们第一次采集生态板的数据,第二次采集电源线的数据。然后我们去导出,如果不按备注,那么导出的结果可能同时包含"生态板",以及"电源线"的结果!如果我们按备注导出,则可以仅导出某一次的任务数据。

六、导出结果说明

1:总文件结果导出

Alt text

备注说明

总文件结果导出,就是导出的是搜索任务引擎的全部数据。需要注意的是,每次导出都是当前最新的结果的全部数据,并不会把以前导出的数据剔除。

如果需要每次导出总文件都不包含以前导出过的内容,有以下两个办法:

方案1: 按分批文件导出。前提是设置好分批结果切割时频(默认为1小时一个分批文件)。
方案2: 每次导出后,点击任务界面的“清除数据”按钮。该功能会清除任务的数量统计缓存信息,以及删除引擎的总结果文件!而删除删除引擎的总结果文件之后,下次运行就会重新写入内容,不包含历史数据。

其他说明:如果即想要历史总数据,又不想每次导出包含以前的导出数据,那么您可以手工备份复制主程序根目录下的"result/search_task.txt"文件。与此同时,清除数据按钮并不会删除分批文件,如果忘了手工备份,也可以从分批文件查看数据。

2:分批文件结果导出

Alt text

备注说明

结果切割时频的值如果不为0,则软件会对采集结果自动按时间(单位为小时)进行分割。默认结果切割时频的值为1,也就是每小时都将生成一个结果的子文件。

子文件按时间生成文件名,存储在主程序根目录下的result/search_task目录下。该功能可以防止每次导出结果都是全部数据也包含了历史已经导出的数据的情况。我们只需要按子文件导出结果即可避免该问题。

3:导出设置说明

Alt text

导出参数设置说明

存储参数
如果选择域名,则导出的结果文件每行的格式如:www.msray.cn
如果选择根网址,则导出的结果文件每行的格式如:http://www.msray.cn
如果选择网址,则导出的结果文件每行的格式如:http://www.msray.cn/page/1.html
如果选择IP,则导出的结果文件每行的格式如:127.0.0.1
如果选择标题,则导出的结果文件每行都是一个网站的标题内容;
如果选择全部,那么导出的结果中,包含所有以上字段的内容,比如域名、根网址、网址、IP、ip所属国家、标题、描述等;
文件类型

一般选择txt。同时支持TXT、CSV格式。

按备注导出

按备注导出:可以填写任务备注导出对应的任务结果(需要创建任务的时候填写备注)