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

为什么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 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao