感谢朋友们的帮助,刚刚的问题已经有些思路,不过,我现在用样例复制爬取出来的信息不全不知怎么回事儿?

一页列表里面30条数据,有的能爬取四五条,有的能爬十几条,就是爬取不全
举报 使用道具
| 回复

共 7 个关于本帖的回复 最后回复于 2017-6-27 16:04

gz51837844 管理员 发表于 2017-6-27 12:37:51 | 显示全部楼层
你可以把规则名称贴出来, 技术帮你分析下
举报 使用道具
shujukeji 中级会员 发表于 2017-6-27 13:29:41 | 显示全部楼层
本帖最后由 shujukeji 于 2017-6-27 13:35 编辑

不是
举报 使用道具
shujukeji 中级会员 发表于 2017-6-27 13:29:56 | 显示全部楼层

这是我的数据规则xml

举报 使用道具
shujukeji 中级会员 发表于 2017-6-27 13:31:17 | 显示全部楼层
shujukeji 发表于 2017-6-27 13:29
这是我的数据规则xml

错了
举报 使用道具
shujukeji 中级会员 发表于 2017-6-27 13:34:05 | 显示全部楼层
gz51837844 发表于 2017-6-27 12:37
你可以把规则名称贴出来, 技术帮你分析下

<?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='list-content']/div[position()>=2 and count(.//*[@class='jjr-title']/h3/a/text())>0 and count(.//*[@class='score-num']/text())>0 and count(.//*[@class='score-num']/text())>0 and count(.//*[@class='score-num']/text())>0 and count(.//*[@class='jjr-side']/text()[position()=2])>0 and count(.//*[@class='jjr-desc mg-top'])>0 and count(.//*[@class='jjr-desc xq_tag'])>0 and count(.//*[@class='broker-tags clearfix'])>0]" mode="安居客_北京优秀经纪人"/>
</安居客_北京优秀经纪人>
</xsl:template>


<xsl:template match="//*[@id='list-content']/div[position()>=2 and count(.//*[@class='jjr-title']/h3/a/text())>0 and count(.//*[@class='score-num']/text())>0 and count(.//*[@class='score-num']/text())>0 and count(.//*[@class='score-num']/text())>0 and count(.//*[@class='jjr-side']/text()[position()=2])>0 and count(.//*[@class='jjr-desc mg-top'])>0 and count(.//*[@class='jjr-desc xq_tag'])>0 and count(.//*[@class='broker-tags clearfix'])>0]" mode="安居客_北京优秀经纪人">
<item>
<姓名>
<xsl:value-of select="*//*[@class='jjr-title']/h3/a/text()"/>
<xsl:value-of select="*[@class='jjr-title']/h3/a/text()"/>
<xsl:if test="@class='jjr-title'">
<xsl:value-of select="h3/a/text()"/>
</xsl:if>
</姓名>
<等级>
<xsl:copy-of select="*//*[@class='stars-solid']"/>
<xsl:copy-of select="*[@class='stars-solid']"/>
</等级>
<房源>
<xsl:value-of select="*//*[@class='score-num']/text()"/>
<xsl:value-of select="*[@class='score-num']/text()"/>
<xsl:if test="@class='score-num'">
<xsl:value-of select="text()"/>
</xsl:if>
</房源>
<服务>
<xsl:value-of select="*//*[@class='score-num']/text()"/>
<xsl:value-of select="*[@class='score-num']/text()"/>
<xsl:if test="@class='score-num'">
<xsl:value-of select="text()"/>
</xsl:if>
</服务>
<评价>
<xsl:value-of select="*//*[@class='score-num']/text()"/>
<xsl:value-of select="*[@class='score-num']/text()"/>
<xsl:if test="@class='score-num'">
<xsl:value-of select="text()"/>
</xsl:if>
</评价>
<电话>
<xsl:value-of select="*//*[@class='jjr-side']/text()[position()=2]"/>
<xsl:value-of select="*[@class='jjr-side']/text()[position()=2]"/>
<xsl:if test="@class='jjr-side'">
<xsl:value-of select="text()[position()=2]"/>
</xsl:if>
</电话>
<公司>
<xsl:value-of select="*//*[@class='jjr-desc mg-top']"/>
<xsl:value-of select="*[@class='jjr-desc mg-top']"/>
</公司>
<熟悉>
<xsl:value-of select="*//*[@class='jjr-desc xq_tag']"/>
<xsl:value-of select="*[@class='jjr-desc xq_tag']"/>
</熟悉>
<标签>
<xsl:value-of select="*//*[@class='broker-tags clearfix']"/>
<xsl:value-of select="*[@class='broker-tags clearfix']"/>
</标签>
<照片>
<xsl:value-of select="*//*[@class='thumbnail']/@src"/>
<xsl:value-of select="*[@class='thumbnail']/@src"/>
<xsl:if test="@class='thumbnail'">
<xsl:value-of select="@src"/>
</xsl:if>
</照片>
</item>
</xsl:template>
</xsl:stylesheet>

这个是,爬取的是安居客经纪人频道https://beijing.anjuke.com/tycoon/

举报 使用道具
wangyong 版主 发表于 2017-6-27 14:32:52 | 显示全部楼层
规则里内容映射有问题,都映射混了
整理箱中的抓取内容全部重新做映射并且做上定位标志,参看教程:定位标志映射提高规则适用性
这个网页不需要做样例复制映射,对应整理箱顶级节点做定位标志映射就可以将网页上所有的数据都抓取下来,参看教程:定位标志批量采集相同定位信息
举报 使用道具
shujukeji 中级会员 发表于 2017-6-27 16:04:33 | 显示全部楼层
wangyong 发表于 2017-6-27 14:32
规则里内容映射有问题,都映射混了
整理箱中的抓取内容全部重新做映射并且做上定位标志,参看教程:定位标 ...

好勒,多谢大神
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2024-4-19 07:43