火车采集器:怎么能够进一步提高采集数据的速度

火车采集器:怎么能够进一步提高采集数据的速度,第1张

影响采集速度的因素有很多,常见的有自己的网络速度,运行电脑的硬件配置,以及采集的网站的响应速度和规则设置的难易程度等等。

如果采集规则里面有很多数据处理如替换等等,都会影响到采集速度。为了是采集速度提高,在能采集到想要的数据的前提下,少加入数据处理等 *** 作。

如果采集的数据量比较大可以通过设置分页,分多个规则来采集数据比如第一个规则采集前10页第二个规则设置采集后10页等等,或者在电脑上开启多个采集器。

对应商业版用户来说无论是那个版本在一台电脑上面都是可以开启多个采集器的注意这里的采集器必须是不同的文件夹。总之一点就是把采集任务分多个规则和多个采集器运行。

对应已经不需要的数据,请清空,数据库容量大了也会影响速度。本地保存数据库尽量选择mysql这类 容量大的数据库做为本地数据库。

1

首先讲一讲网站结构,通常网站结构为树形结构,一个网站主要包以下几种页面:首页、栏目页、文章页,其结构如下图。

其次讲一讲火车头采集原理,火车头的运行需要一套规则来指定该如何采集所需数据,即需要编写火车头采集规则,编写采集规则也是新手最头痛的问题。

火车头采集器通常通过网址抓取网站返回的源代码,然后在源代码中提取需要的信息。因此,采集数据需要先采集网址,然后再采集数据。

2

下面开始编写采集规则:

运行LocoyPlatformexe

3

在左侧“任务列表树”选择一个分组点击右键,选择“新建任务”d出新建任务对话框。填写任务名,网站编码一般选择自动即可。

添加起始网址

填写“第一步:采集网址规则”这里需要按照网站的树形结构逐级获取下一级结构的网址,直至获取到内容页的网址。先填写起始网址,通常为目标站首页地址。点击“添加”,在单条网址处填上火车头博客的首页地址,然后依次点击“添加” ->“完成”。

编写“多级网址获取”规则

这里需要先在起始地址页面找到所有需要采集的栏目页的代码区域,先查看起始页地址的源码,找到如图所示代码区域:

点击右侧“添加”按钮打开“添加多级网址采集规则”,选择“从页面自动分析得到地址链接”单选按钮,在下面“从该选定区域中提取网址”,“从”(左侧)文本框填上栏目地址代码区域开始之前的标志性代码(要保证其在该页的唯一性),“到”右侧文本框填上栏目地址代码区域结束之后的标志性代码,在“结果网址过滤”的“必须包含”和“不得包含”文本框填上相应代码,如果该区域没有多余的链接不需要过滤,可以不填,这里的栏目页网址必须包含“category-”。然后点击“保存”返回。

现在需要获取内容页的地址。先打开栏目页查看源码,查找内容页地址存在的区域及地址规律。按照上一步的方法先填写内容页所在区域的起始和结束标志性代码,然后分析这个区域中包含的链接与我们说需要的内容页地址链接规律,添加过滤代码。这里起始代码为“<!--显示-->”,结束代码为“<div class="page" style="float:right">”过滤代码为必须包含“read-”不得包含“#”。如图:

需要注意的是这里文章比较多会有很多分页,所以需要填写“列表分页获取”规则。通常只需要指定分页代码的区域,如有必要可以填写“组合生成列表页分页”规则。这里的列表分页规则其实代码为“<li class="pageNumber">”,结束代码为“title="下一页">”。如果勾选“自动识别分页”的话,会自动提取a标签的href属性,如果不勾选自动识别的话,需要填写组合生成列表页分页”规则。

然后保存返回,可以通过“测试网址采集”来测试规则是否正确,不正确可以返回修改规则,正确的话可以开始编写“第二步采集内容规则”。

编写“第二步采集内容规则”

先打开内容页以及内容页的源码,找到需要提取的信息的前后代码特征。以提取标题和内容为例。首先复制文章标题,然后在源码中查看该标题出现的几处地方,找一处前后代码在每一篇文章都一样的地方,该例共出现了3处,第二处的代码没有其他干扰代码。点击“添加”,标签名填“标题”,提取数据方式选择前后截取,前后代码分别为“<h1 class="ContentTitle"><strong>”和“</strong></h1>”。如果采集的内容需要作进一步处理(如替换删除编码转换过滤html等),在下方“数据处理”点击添加填写相应规则。

再添加一个标签,标签名为“内容”,按照上述方法填写内容的前后代码片段,需要注意的是,前后代码片段最好不要出现不完整的标签(如:“<div class="Content-body"” 应该写作“<div class="Content-body">”,一个完整的标签应该是以“<”开始,以“>”结束,如果<>之间的内容在各个内容页有一部分不一样,将不一样的部分用()代替即可),否则提取的内容会包含部分不完整的标签。通常正文包含的HTML会比较多,可以添加HTML过滤功能,建议仅保留段落(p)、(img)、换行(br)等标签。

测试内容采集规则

保存规则后返回采集内容规则页面,在右侧“规则测试”的典型页面文本框填上一个内容页的地址,然后点击测试,如果下面显示到的内容符合预期说明可以了,如果未获取到内容或者获取到内容不正确,返回检查并修改规则。

开始采集

选择要采集的任务规则,勾选“采网址”和“采内容”复选框,点击工具栏“开始”按钮。

后续工作

采集到的数据保存在数据库,可以通过在任务名上点右键,选择“打开DATA下任务文件夹”打开数据库所在位置,该数据库可以通过ACCESS打开和编辑。如果想要重新采集,需要通过右键选择“清空该任务网址库”和“清空任务所有采集数据”。

用八爪鱼采集器采集的数据发布到帝国CMS。

下载发布到帝国CMS接口文件

1、打开jiekouphp,修改第二行代码 $pw='123456'; //为了安全,验证密码请自行修改

2、接口文件jiekouphp放置在 站点目录\e\admin\目录下,放在其他目录下需要更改接口源码。

3、配置抓取规则

包含一些必选字段,字段映射说明见文档末尾

4、规则配置完毕后,运行单机采集

5、采集到数据后,选择发布到网站

6、发布向导中,填写一些发布的必要信息

发布的地址: >

试了下,火车头确实不行,因为它起始网址的参数就一个,没法对两个动态的数据描述。

那不妨换个角度来思考,为什么不把这些网址变成1级网址让火车头以采集的方式把它采集出来呢。比如//ihtml_pgn=2&_skc=50&rt=nc把这个设置为起始网址(0级网址),那么你在设置采集网址的1级网址。而//ihtml_pgn=2&_skc=50&rt=nc这个页面肯定会有下一页,那么下一页的网址应该就是://ihtml_pgn=3&_skc=100&rt=nc,这个页面的下一页的网址就是//ihtml_pgn=4&_skc=150&rt=nc,依次类推,层层采集,最终会把你要得网址采集完。那么可能会问起始网址就一个,怎么会采集到那么多的“下一页”呢,这个可以用分页的效果来实现,因为你设置好了分页,火车头就会自动跳到下一页去采集,分页的功能就把一个起始网址扩展出N个起始网址了!

标签编辑

对数据内容标签进行编辑定义,数据的获取方式有

A)从源码中获取数据

B)生成固定格式的数据

C)已有标签组合

A)从源码中获取数据:可精确地设置标签的来源是从默认页的源码、返回头信息和网页地址中,

或者是分页、循环分块、多页中。

其数据提取方式包括:

Aa)前后截取

Ab)正则提取

Ac)正文提取

Ad)Xpath提取

Ae)JSON提取

B)生成固定格式的数据:可生成固定的字符串、系统时间、随机字符串、随机数字、系统时间戳、随机抽取信息

C)已有标签组合:可通过组合已有的标签,来生成新的标签内容

Aa)前后截取

通过设置开始字符串和结束字符串,来获取中间的字符,可以在开始和结束字符串中设置通配符()

Ab)正则提取

支持两种正则,一个纯正则,一个参数正则。

先介绍纯正则,举个例子,

如:前字符串(<content>[\s\S])后字符串,这个正则其实效果跟前后截取一样,

如需要获取全部代码,则为^(<content>[\s\S])$,此功能运用需有一定的正则基础。

关于参数正则,是通过参数组合,来生成内容。

比如说要匹配标题为“新用户注册”和作者“神秘嘉宾”,代码如下:

<divclass="content">

<h2>新用户注册</h2>

以上就是关于火车采集器:怎么能够进一步提高采集数据的速度全部的内容,包括:火车采集器:怎么能够进一步提高采集数据的速度、火车头采集器发布文章怎么随机到栏目id、火车头采集器怎么与帝国cms7.2链接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9528606.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存