抓取网页新闻( 采用AJAX技术的网站越来越多我们有必要通过更多案例讲解)
优采云 发布时间: 2021-09-21 04:21抓取网页新闻(
采用AJAX技术的网站越来越多我们有必要通过更多案例讲解)
如何仅捕获最新的cnBeta数字产品新闻如何仅捕获最新的cnBeta数字产品新闻越来越多的人使用ajax技术。我们需要解释如何通过更多的案例准确地捕获JavaScript JS动态生成的内容。这一次,我们想捕捉cnbeta网站在数字产品新闻上,进入这个网站主页,可以看到一个积极入党的新闻列表。列表中有很多新闻项目,每个项目*敏*感*词*老的规定、关于妇女节假期的规定、关于妇女节假期的规定、关于鞋类三包的规定,以及关于如何从网页上采集新闻列表数据的规定。图1显示了数据映射和freeformat映射的过程,主要包括:接下来,选择新闻列表中的第一条新闻作为示例数据映射
映射和freeformat映射都是在它上执行的。为了捕获新闻数据,进行了数据映射和自由格式映射。Freeformat映射不是必需的。如果网页有一个class或ID属性,表示可以用来准确定位捕获内容的DOM节点的语义,则执行freeformat映射。详细操作流程请参见捕获京东商品价格,以便捕获freeformat映射新闻列表中的每条新闻,这就是所谓的多实例捕获。Freeformat映射不是唯一的方法。此页面上的每个新闻都有一个类“NewsList”,非常适合捕获多个实例。如果没有合适的freeformat,可以使用示例复制方法。请参阅捕获当当商品价格设置至少一个信息属性的关键功能。有关关键功能的描述,请参阅metastudio用户手册。设置关键功能后,datasrapper可以在加速模式下运行,以提高捕获速度。如果未选中数据采集器的菜单项“配置”-“正常模式”,则数据采集器将进入加速模式2以捕获新闻详细信息页面。我们将看到“分层捕获”图2显示了再次捕获下一级线索的方法。设置线索功能后,会在clueeditor工作台上自动创建一个信息线程,下一级主题在clueeditor工作台上命名为demo\ucnbeta\uudetail,如图3所示,定义信息线索的目的是执行分层爬网,抓取新闻列表,然后抓取详细的新闻内容。为了避免重复爬行,当发现超过设定的重复率时,爬行过程将终止。在接下来的章节中,我们将详细解释如何通过翻页来抓取多个页面。为了翻页抓取所有页面,我们需要创建一条线索。图4详细显示了主要步骤,有关详细信息,请参见抓取当当商品价格。将表示整个分页区域的DOM节点映射到此线索相当于指定可以定位分页超链接的网页区域。我们使用标记线索类型来定位翻页线索,而不是“”标记映射基于标记值。标记值和标记节点序列号将自动填入clueeditor工作台。设置在线线索类型。这种类型主要用于翻页爬行。选择此类型后,当前主题名称将自动填入目标主题名称输入框。4设置Ajax爬行模式。如图5所示,在“页面捕获卓越亚马逊”一文中选择metastudio设置Ajax捕获模式的菜单“配置”-“活动模式”,我们同时设置了“活动模式”和“扩展模式”,这两种模式没有绑定在一起。这个目标网站不会在每次翻页时加载另一个页面,而是在本地修改页面内容,因此我们设置了“扩展模式”,这是没有意义的。我们通常在每一个特定的时间,比如某一天,获取最新的新闻
如果在新闻列表中发现了新新闻,请抓取其URL并创建下一级线索以抓取最新的新闻内容。如果发现新闻列表中的所有新闻都是以前捕获的新闻,请停止翻页和爬网。这需要周期性的自动爬行方法。需要编辑周期爬网调度指令文件。此文件必须命名为crontabxml,并存储在homedatasrapper目录中,以获取目录结构的详细描述,请参阅“捕获当当商品价格”。下面是crontabxml文件的内容。Crontabthreadname“news_list”参数UTRUEOUTOSTART5StartPeriod3600PeriodWaitOnLoadalsWaitonLoadParameterName“renewclue”主题的EMO_cnbeta_uu列表主题的ESTEPSTEPNAME“crawl”主题的EMO_cnbeta_uuu列表EUpdateclueUpdateCLuedDupratio80DupratioPth-1depth-1depthWidthRenewFalseRenewPeriod0PeriodStepThreadName“news_uDetail”参数AutoTrueTAutoStart23StartPeriod1800PeriodidWaitOnLoadFalseWaitOnLoadParameterStepName“crawl”主题emo_uCNbeta_u所有参数的含义在定期提取计划指令文件中解释。抓取主题演示与“仅抓取最新新闻”相关。列表的dupratio参数80表示80,即,如果发现在三个连续页面中捕获的URL地址中有80个之前已捕获,则翻页捕获将终止。当前版本的元导引头只能判断捕获的下一级线索的重复率,而不能判断捕获数据的重复率。请不要直接使用crontabxml,因为它尚未在metaseeker服务器上捕获,但定义的信息结构demo_cnbeta_u详细信息将导致定期获取失败