【问题标题】:Xpath dealing with SPAN and SUPXpath 处理 SPAN 和 SUP
【发布时间】:2019-02-11 01:43:57
【问题描述】:

我正在尝试在该网站 file:///C:/Users/alexa/AppData/Local/Temp/tmptz9muzp9.html 上抓取假期表 我有标题和第一列和第三列,但第二列看起来像:

<td>
<span>1<span>
<sup>er <sup>
<span> ...

当我使用我的 xpath 时:span_xpath = tree.xpath('//*[@id="main"]/article/div/table/tbody/tr/td/span/text()')

它返回一个列表,其中 sup 1"er" 不在这里,并添加一个带有不需要的代码的附加行

   ['1',
 '\xa0janvier (lundi)',
 '1',
 '\xa0janvier (mardi)',
 '2 avril',
 '1',
 '\xa0mai (mardi)',
 '1',
 '\xa0mai (mercredi)',
 '10 mai (jeudi)',
 '21 mai',
 '23 juin (samedi)',
 '23 juin (dimanche)',
 '15 août (mercredi)',
 '1',
 '\xa0novembre (jeudi)',
 '1',
 '\xa0novembre (vendredi)',
 '25 décembre (mardi)',
 '25 décembre (mercredi)',
 '26 décembre (mercredi)']

我想要带有 span 和 sup 的整个路径。

【问题讨论】:

  • 只需在浏览器中打开 html 文件并右键单击它即可进行检查。然后右键单击源中的元素并转到_Copy__>_Xpath。
  • 这对我没有帮助,如果我选择带 sup 的 xpath,我只会得到上级词,如果我选择 xpath span,我会得到其余的,但我都想要

标签: python html xpath


【解决方案1】:

根据问题和 OP 的评论,他应该能够稍微修改 XPath 查询以接受 spansup 元素:

q = "//*[@id="main"]/article/div/table/tbody/tr/td/*[self::span|self::sup]/text()"
span_xpath = tree.xpath(q)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2021-10-08
    • 2022-11-19
    • 1970-01-01
    相关资源
    最近更新 更多