一个网页上有1000条结构相同的信息,但是我只要爬前20条就可以了。用了样例复制以后要怎么设置来实现呢。。
举报 使用道具
| 回复

共 7 个关于本帖的回复 最后回复于 2016-5-26 17:39

沙发
summous 新手上路 发表于 2016-5-26 15:32:05 | 只看该作者
别告诉我爬完1000条以后再删去后面980条。。。
举报 使用道具
板凳
ym 版主 发表于 2016-5-26 15:41:41 | 只看该作者
采集只能按网页/翻页采集,你可以控制采集多少个网址或者翻页多少,所以,像这种同个网页上的样例复制采集是不能精确只采前几条数据。但是,你可以不做样例复制,而是对前20条数据分别建抓取内容进行映射,就能只抓网页上的前20条数据
举报 使用道具
地板
Fuller 管理员 发表于 2016-5-26 15:52:07 | 只看该作者
summous 发表于 2016-5-26 15:32
别告诉我爬完1000条以后再删去后面980条。。。

我建议你爬下来再删除,如果你确实不想这么做,你可以手工修改抓取规则。

假设已经存了规则,那么再次点击工作台上的测试按钮,然后点击红框里面的“数据规则”标签,直接手工修改规则,要掌握xslt才行,可以限定只要前20个。修改完成后,点击“保存修改"。


注意,手工修改后只能点击“保存修改”,不能点击工具条上的“存规则”,否则手工修改的就冲掉了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
举报 使用道具
5#
summous 新手上路 发表于 2016-5-26 16:33:51 | 只看该作者
Fuller 发表于 2016-5-26 15:52
我建议你爬下来再删除,如果你确实不想这么做,你可以手工修改抓取规则。
假设已经存了规则,那么再次点 ...

谢谢,
下面是我的数据规则,你能帮我看下怎么设置吗,我只要前面5条。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<花瓣第一级>
<xsl:apply-templates select="//*[@id='waterfall']/div[position()>=1 and count(.//*[@class='BoardUserUrl x']/text())>0 and count(.//*[@class='over ']/h3/text())>0 and count(.//*[@class='link  x']/@href)>0]" mode="花瓣第一级"/>
</花瓣第一级>
</xsl:template>



<xsl:template match="//*[@id='waterfall']/div[position()>=1 and count(.//*[@class='BoardUserUrl x']/text())>0 and count(.//*[@class='over ']/h3/text())>0 and count(.//*[@class='link  x']/@href)>0]" mode="花瓣第一级">
<item>
<用户昵称>
<xsl:value-of select="*//*[@class='BoardUserUrl x']/text()"/>
<xsl:value-of select="*[@class='BoardUserUrl x']/text()"/>
<xsl:if test="@class='BoardUserUrl x'">
<xsl:value-of select="text()"/>
</xsl:if>
</用户昵称>
<画板名称>
<xsl:value-of select="*//*[@class='over ']/h3/text()"/>
<xsl:value-of select="*[@class='over ']/h3/text()"/>
<xsl:if test="@class='over '">
<xsl:value-of select="h3/text()"/>
</xsl:if>
</画板名称>
<该画板采集数量>
<xsl:value-of select="*//*[@class='pin-count']/text()"/>
<xsl:value-of select="*[@class='pin-count']/text()"/>
<xsl:if test="@class='pin-count'">
<xsl:value-of select="text()"/>
</xsl:if>
</该画板采集数量>
<下级线索地址>
<xsl:value-of select="*//*[@class='link  x']/@href"/>
<xsl:value-of select="*[@class='link  x']/@href"/>
<xsl:if test="@class='link  x'">
<xsl:value-of select="@href"/>
</xsl:if>
</下级线索地址>
</item>
</xsl:template>
</xsl:stylesheet>
举报 使用道具
6#
summous 新手上路 发表于 2016-5-26 16:34:55 | 只看该作者
ym 发表于 2016-5-26 15:41
采集只能按网页/翻页采集,你可以控制采集多少个网址或者翻页多少,所以,像这种同个网页上的样例复制采集 ...

恩,好的,是个可行的办法!谢谢啦
举报 使用道具
7#
Fuller 管理员 发表于 2016-5-26 17:25:39 | 只看该作者
summous 发表于 2016-5-26 16:33
谢谢,
下面是我的数据规则,你能帮我看下怎么设置吗,我只要前面5条。

抓取规则中有两个位置出现了
  1. /div[position()>=1 and count(.//*[@class='BoardUserUrl
复制代码
表示抓取从第一个开始的所有实例,把他们都改成
  1. /div[position()>=1 and position()<=20 and count(.//*[@class='BoardUserUrl
复制代码
就变成了只抓取1-20个实例
举报 使用道具
8#
summous 新手上路 发表于 2016-5-26 17:39:05 | 只看该作者
Fuller 发表于 2016-5-26 17:25
抓取规则中有两个位置出现了
表示抓取从第一个开始的所有实例,把他们都改成
就变成了只抓取1-20个实例

十分感谢~
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反
  • 在网页片段内直观标注——以B站评论采集为
  • 利用AI阅读和分析文本:使用COZE建设游记文

热门用户

GMT+8, 2024-12-19 23:23