24 41118

关于crontab.xml的疑问

smthsiwei 于 2015-10-10 19:48 发表 [复制链接]
1、能指定自动任务执行时间吗,例如上午9:00执行,而不是手工打开DS打数机之后等待一个固定的时延。
2、使用crontab.xml似乎不能自动翻页?是否和dupratio参数有关?我这没有设置层级抓取,只是固定对一个带翻页的list反复抓取,所以把dupratio参数注掉了,翻页不成功。同样这个主题,手工抓是可以成功翻页的。怎样从参数设置中区分对list的反复全量抓取,和增量抓取?
3、period参数没起作用,设置成60000,一样一分钟抓好几个xml下来,不清楚是否和2有关。

附crontab.xml如下:
  <?xml version="1.0" encoding="UTF-8" ?>
- <crontab>
- <thread name="THREAD_T_TTJJ_FUNDNAV">
- <parameter>
  <auto>true</auto>
  <start>20</start>
  <period>60000</period>
  <waitOnload>false</waitOnload>
  </parameter>
- <step name="renewClue">
  <theme>天天基金净值页</theme>
  </step>
- <step name="crawl">
  <theme>天天基金净值页</theme>
  <loadTimeout>20000</loadTimeout>
- <!--  加载目标网页等待的时间,以毫秒为单位,如果超过这个时间还没有将需要的内容加载到内嵌浏览器中,就放弃抓取。注意:一般这个参数用于抓取需要翻页的线索,因为翻多页到中间某页因为超时放弃太可惜了。如果用于抓取单页内容,可以不用设置这个参数,而是保持缺省的60000(毫秒),太长的超时时间会因为目标网站速度过慢拖累网页抓取效率
  -->
  <lazyCycle>3</lazyCycle>
- <!--  只对积极模式或者积极延长模式有效,以秒为单位。缺省是5秒钟(不配置该参数的话),这是一个很保守的数字,抓取速度受影响,很多时候可以将该参数设置成1~4,以提高速度,该参数的选择并不根据目标网页的下载速度,而且目标网站的速度的稳定性,如果异步加载内容时快时慢,这个数字应该调大。当然,从感官上难于判断速度的稳定性,主要靠检查抓取结果是否符合预期而做事后补救。
  -->
  <updateClue>false</updateClue>
- <!--  true或者false,在提取网页内容时可以提取到其它主题的线索,例如,当前主题是project_list_design.www.sxsoft.com,在外包项目列表页面上提取到主题是project_design.www.sxsoft.com的线索,如果MetaSeeker系统发现这个新提取到的线索指向的页面以前提取过,这个参数决定怎样对待这个线索,true表示将这个线索的状态重置为start,false表示不修改原来的状态。
  -->
- <!--         <dupRatio>80</dupRatio>
  -->
- <!--  是百分比的分子,是0~100的整数,用于翻页提取的情形,例如,外包项目列表页面上的外包项目很多,分成多页显示,前面页上显示最新项目,当翻页提取到以前提取过的内容时,应该终止信息提取过程,该参数表示发现多少线索重复时停止翻页。
  -->
  <timerTriggered>false</timerTriggered>
- <!--  设置为true,则用定时器触发网页信息提取,如果不设置或者设置为false,则采用普通的触发方式。这个参数一般用于AJAX网页内容的提取,有时候,有些网页的DOM持续变化,从不终止,普通的触发方式则会失效,就需要用定时器触发。
  -->
  <depth>-1</depth>
- <!--  正整数或者-1,表示翻多少页停止,-1表示不停止,这个参数与dupRatio结合使用,哪个条件先成立就采用哪个。
  -->
  <width>-1</width>
- <!--  正整数或者-1,表示这轮周期性网页抓取会话最多提取该主题的多少个线索指向的页面,-1表示不限制,也就是说无论有多少个状态为start的线索,都在这一轮提取完。
  -->
- <!--         <renew>false</renew>
  -->
- <!--  true或者false,表示是否启用服务器侧调度的周期性信息提取,注意,在线版MetaSeeker忽略该参数
  -->
- <!--         <period>0</period>
  -->
- <!--  正整数,表示服务器侧调度周期性信息提取的周期,注意,在线版MetaSeeker忽略该参数
  -->
  <resumePageLoad>true</resumePageLoad>
- <!--  正整数,表示服务器侧调度周期性信息提取的周期,注意,在线版MetaSeeker忽略该参数
  -->
  <resumeMaxCount>3</resumeMaxCount>
- <!--  正整数,表示重新下载尝试次数。
  -->
  <scrollWindowRatio>4</scrollWindowRatio>
- <!--  滚屏延时:缺省值是2。如果设置成N,则等待1/N秒才滚到下一屏,所以,这个整数是2的倍数的话,不会有除不尽的问题,也就是说没有误差,不过因为时间精度是毫秒级,所以有误差也是微乎其微。很多网页如果滚屏太快就不向服务器发送AJAX数据请求。所以,这个整数不能太大。
  -->
  <scrollMorePages>10</scrollMorePages>
- <!--  额外滚屏次数:缺省值是0,表示不滚屏。DataScraper能够自动计算应该翻滚多少屏,但是为了等待异步加载的AJAX数据完整加载好,需要设置额外滚屏次数,相当于增加了一个时延,如果滚屏时延取值2的话,额外滚屏次数推荐值是10。
  -->
  <allowPlugin>false</allowPlugin>
- <!--  (企业版专有功能)是否允许加载需要专门插件解释的内容,true或者false,例如,视频、Flash等内容。
  -->
  <allowImage>false</allowImage>
- <!--  (企业版专有功能)是否允许加载图片,true或者false。
  -->
  <allowJavascript>false</allowJavascript>
- <!--  (企业版专有功能)是否允许加载并解释Javascript,true或者false。
  -->
  </step>
  </thread>
  </crontab>
举报 使用道具
| 回复

共 24 个关于本帖的回复 最后回复于 2016-1-29 14:35

Fuller 管理员 发表于 2015-10-10 22:11:39 | 显示全部楼层
1,要指定启动时间,目前只能用企业版
2,要重复全量抓取,那么在第一级,dupRatio=100, updateClue=true;要增量抓取的话,第一级dupRatio=80, updateClue=false
crontab与自动翻页没有关系,翻页不成功可能是别的原因,会不会loadTimeout设置得太短了?如果网络很慢,可以设置成120000,就是2分钟
3,period是整个thread的周期,因为width=-1, depth=-1,那么要把所有线索抓完才根据period去等待下一轮启动时间。如果每个xml之间要调整时间间隔,要用minIdle和maxIdle
举报 使用道具
smthsiwei 初级会员 发表于 2015-10-19 21:47:35 | 显示全部楼层
从ms谋数台进入就没有问题,crontab的话,不管是自动启动,还是手动从排期中启动,都不能翻页。
现象是不停地抓第一页,生成了好多个xml,一模一样的内容。
举报 使用道具
gooseeker_info 金牌会员 发表于 2015-10-19 22:19:54 | 显示全部楼层
smthsiwei 发表于 2015-10-19 21:47
从ms谋数台进入就没有问题,crontab的话,不管是自动启动,还是手动从排期中启动,都不能翻页。
现象是不停 ...

可以通过GooSeeker的qq群,把crontab文件发给群主或管理员,检查一下是什么原因
举报 使用道具
smthsiwei 初级会员 发表于 2015-10-19 23:06:07 | 显示全部楼层
crontab文件就是楼上贴出来那个啊。

我发现通过ms谋数台爬数据的时候页面会全部加载,而自动化抓取的时候明显有一些页面元素不全,banner之类的图片都不显示。是不是这个原因,导致自动抓取的时候dom没有下载全,从而找不到翻页标识?
举报 使用道具
smthsiwei 初级会员 发表于 2015-10-19 23:08:18 | 显示全部楼层
smthsiwei 发表于 2015-10-19 21:47
从ms谋数台进入就没有问题,crontab的话,不管是自动启动,还是手动从排期中启动,都不能翻页。
现象是不停 ...

loadTImeout参数设置的时间短,生成重复的xml的速度就快。
举报 使用道具
gooseeker_info 金牌会员 发表于 2015-10-19 23:24:37 | 显示全部楼层
smthsiwei 发表于 2015-10-19 23:08
loadTImeout参数设置的时间短,生成重复的xml的速度就快。

loadTimeout只设置了20秒,太短了,不过这个不是关键问题。问题关键是后面3个allow,分别表示下载图片,插件和javascript,尤其javascript,你设置成false,所有代码都运行不了了,至少要把allowJavascript打开。要显示banner,就要把allowImage打开
举报 使用道具
smthsiwei 初级会员 发表于 2015-10-20 13:48:55 | 显示全部楼层
gooseeker_info 发表于 2015-10-19 23:24
loadTimeout只设置了20秒,太短了,不过这个不是关键问题。问题关键是后面3个allow,分别表示下载图片, ...

多谢,搞定了。文档说这是企业版的参数,还以为不生效呢。

再问个问题,翻页抓取,有时候同一页会被抓下来两次,何解?
举报 使用道具
smthsiwei 初级会员 发表于 2015-10-20 14:25:19 | 显示全部楼层
smthsiwei 发表于 2015-10-20 13:48
多谢,搞定了。文档说这是企业版的参数,还以为不生效呢。

再问个问题,翻页抓取,有时候同一页会被抓下 ...

有时还会抓下来一个空的xml文件,主题标签下没有item的。
举报 使用道具
gooseeker_info 金牌会员 发表于 2015-10-20 15:29:29 | 显示全部楼层
smthsiwei 发表于 2015-10-20 14:25
有时还会抓下来一个空的xml文件,主题标签下没有item的。

至少给一个抓取内容设置 关键内容,通常,网页上一定要抓到的内容设置关键内容。如果没有抓到,就失败了。这样就不会抓到空的。但是,失败的线索数会增多。那么,很可能是抓取规则的适应性不够高,需要做些调整。把失败的加载上来,用抓取规则分析一下
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-3-29 21:31