求助:在汽车之家做层级采集。第二级有些需要翻页有些不需要翻页。
在需要翻页的二级网站中就无法翻过去,浏览器出现404故障,接着就是超时。
主题名是:汽车之家口碑数据库JW1.1第一层和汽车之家口碑数据库JW1.1第二层
第二层规则如下:
<?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="//*[@class='subnav' and count(.//*[@class='subnav-title-name']/a)>0 and count(./following-sibling::div[position()=4]//*[@class='mouth-cont js-koubeidataitembox']/div[position()>=4])>0]" mode="第一级"/>
</第一级>
</xsl:template>
<xsl:template match="*//*[@class='choose-con']" mode="第2.1级">
<item>
<用户名>
<xsl:value-of select="*//*[@class='name-text']/p/a[position()=1]"/>
<xsl:value-of select="*[@class='name-text']/p/a[position()=1]"/>
<xsl:if test="@class='name-text'">
<xsl:value-of select="p/a[position()=1]"/>
</xsl:if>
</用户名>
<详细车型>
<xsl:value-of select="*//*[@class='main-text']"/>
<xsl:value-of select="*[@class='main-text']"/>
</详细车型>
<油耗>
<xsl:value-of select="following-sibling::div[position()=1]/dl[position()=6]/dd/p[position()=1]"/>
</油耗>
</item>
</xsl:template>
<xsl:template match="*[@class='choose-con']" mode="第2.1级">
<item>
<用户名>
<xsl:value-of select="*//*[@class='name-text']/p/a[position()=1]"/>
<xsl:value-of select="*[@class='name-text']/p/a[position()=1]"/>
<xsl:if test="@class='name-text'">
<xsl:value-of select="p/a[position()=1]"/>
</xsl:if>
</用户名>
<详细车型>
<xsl:value-of select="*//*[@class='main-text']"/>
<xsl:value-of select="*[@class='main-text']"/>
</详细车型>
<油耗>
<xsl:value-of select="following-sibling::div[position()=1]/dl[position()=6]/dd/p[position()=1]"/>
</油耗>
</item>
</xsl:template>
<xsl:template match="*//*[@class='mouth-remak']" mode="第2.2级">
<item>
<口碑浏览量>
<xsl:value-of select="*//*[@class='orange']"/>
<xsl:value-of select="*[@class='orange']"/>
</口碑浏览量>
<口碑支持人数>
<xsl:value-of select="*//*[@class='supportNumber']"/>
<xsl:value-of select="*[@class='supportNumber']"/>
</口碑支持人数>
<口碑评论数>
<xsl:value-of select="*//*[@class='font-arial CommentNumber']"/>
<xsl:value-of select="*[@class='font-arial CommentNumber']"/>
</口碑评论数>
<日期>
<xsl:value-of select="preceding-sibling::div[position()=1]/div[position()=1]/div/b/a"/>
</日期>
</item>
</xsl:template>
<xsl:template match="*[@class='mouth-remak']" mode="第2.2级">
<item>
<口碑浏览量>
<xsl:value-of select="*//*[@class='orange']"/>
<xsl:value-of select="*[@class='orange']"/>
</口碑浏览量>
<口碑支持人数>
<xsl:value-of select="*//*[@class='supportNumber']"/>
<xsl:value-of select="*[@class='supportNumber']"/>
</口碑支持人数>
<口碑评论数>
<xsl:value-of select="*//*[@class='font-arial CommentNumber']"/>
<xsl:value-of select="*[@class='font-arial CommentNumber']"/>
</口碑评论数>
<日期>
<xsl:value-of select="preceding-sibling::div[position()=1]/div[position()=1]/div/b/a"/>
</日期>
</item>
</xsl:template>
<xsl:template name="第二级">
<item>
<第2.1级>
<xsl:apply-templates select="*//*[@class='choose-con']" mode="第2.1级"/>
<xsl:apply-templates select="*[@class='choose-con']" mode="第2.1级"/>
</第2.1级>
<第2.2级>
<xsl:apply-templates select="*//*[@class='mouth-remak']" mode="第2.2级"/>
<xsl:apply-templates select="*[@class='mouth-remak']" mode="第2.2级"/>
</第2.2级>
</item>
</xsl:template>
<xsl:template match="//*[@class='subnav' and count(.//*[@class='subnav-title-name']/a)>0 and count(./following-sibling::div[position()=4]//*[@class='mouth-cont js-koubeidataitembox']/div[position()>=4])>0]" mode="第一级">
<item>
<厂商-车型>
<xsl:value-of select="*//*[@class='subnav-title-name']/a"/>
<xsl:value-of select="*[@class='subnav-title-name']/a"/>
<xsl:if test="@class='subnav-title-name'">
<xsl:value-of select="a"/>
</xsl:if>
</厂商-车型>
<指导价>
<xsl:value-of select="following-sibling::div[position()=1]/div/div/div/div[position()=1]/dl/dt/div[position()=1]/span"/>
</指导价>
<二手价>
<xsl:value-of select="following-sibling::div[position()=1]/div/div/div/div[position()=1]/dl/dt/div[position()=2]/span"/>
</二手价>
<第二级>
<xsl:for-each select="following-sibling::div[position()=4]//*[@class='mouth-cont js-koubeidataitembox']/div[position()>=4]">
<xsl:call-template name="第二级"/>
</xsl:for-each>
</第二级>
</item>
</xsl:template>
</xsl:stylesheet>
|
|
|
|
|
共 8 个关于本帖的回复 最后回复于 2018-3-22 12:28