罗家马德里球迷 2019-03-15 23:43 采纳率: 0%
浏览 7389
已采纳

为什么xpath()方法就提取不了a标签中的href属性内容呢?

我的代码是这样的:
方案一(详细版):

file = response.xpath('//*[@id="main-xm-content"]/table/tbody/tr[2]/td/table/tbody/tr[3]/td/table/tbody/tr/td/table/tbody/tr[3]/td[2]/a/@href').extract()

方案二(精简准确版):

file = response.xpath(''//div[@id="main-xm-content"]/table//table//table//table//a//@href')

网页结构大致是这样的:

<table width="900" border="0" cellspacing="0" cellpadding="0">
<tbody>
    <tr>...</tr>
    <tr>...</tr>
    <tr>
        <td width="25">&nbsp;</td>
        <td height="20">
                    <a href="this_is_a_link.gif">这是文本内容.pdf</a>
            </td>
        </tr>
    </tbody>
</table>

但是两种操作的结果不约而同地都是这样的:

>>> file
>>>[]

我很纳闷,这个办法用在其他网页都没出过问题,怎么一到这里就提取不了了呢?

  • 写回答

3条回答 默认 最新

  • 罗家马德里球迷 2019-03-19 23:41
    关注

    问题已被解决,原因应该是:
    1、模糊定位不准确,应尽量寻找临近且稳定的标签;
    2、详细定位不可靠,尤其是

    标签,一般认为在xpath可直接忽视,因为网页源代码往往原来是没有此类标签的,仅仅是网页生成后才出现。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!