首先讲一讲网站结构,通常网站结构为树形结构,一个网站主要包以下几种页面:首页、栏目页、文章页,其结构如下图。
其次讲一讲火车头采集原理,火车头的运行需要一套规则来指定该如何采集所需数据,即需要编写火车头采集规则,编写采集规则也是新手最头痛的问题。
火车头采集器通常通过网址抓取网站返回的源代码,然后在源代码中提取需要的信息。因此,采集数据需要先采集网址,然后再采集数据。
2
下面开始编写采集规则:
运行LocoyPlatform.exe
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打开和编辑。如果想要重新采集,需要通过右键选择“清空该任务网址库”和“清空任务所有采集数据”。
欠编很正常,譬如有些车暂时厂修或者因为车体不足都可能啊~哪节车厢都可能欠编啊,如T25/6次京青特快,餐车8车厢就不编,因为该车的运行时间没必要用。编号没太大硬性规定,你说的“是这样的:[火车头][未编号的车厢(实际为1车厢)][2车厢][3..]...
还是这样:[火车头][2车厢][3车厢]...
”貌似没什么区别啊,另,火车换方向的时候也有可能车头后连的是最后的车厢,譬如18车,17车。。。。
加挂也没特殊规定,可以挂在列首,也可以加在列尾,为便于区分,故给其编号加1、加2,当然有挂两节以上的了,按照需要,编车没特别硬性规定!
您补充问题的时候最好站内消息补充……要不然我看不到~~
欠编的意思是指暂时编组中没有这节车厢,而不是有车厢不编号~~车上有车厢是必须要编号的。即应该是:机车+[2车厢(直接从2车厢开始?)][3车厢]...
另,加挂没特殊号码规定,不过一般来说,是这样:机车+[加1][加2][加3][1][2][3]...
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)