gpt4 book ai didi

html - 使用 xpath 从表中抓取和提取数据

转载 作者:行者123 更新时间:2023-11-28 02:41:17 25 4
gpt4 key购买 nike

我在城市 Wiki 页面上爬行,需要提取城市所属的国家/地区。我试图找到 <th>那包含“国家”一词,然后返回 <tr>然后在 <td> 中找到它但问题有几种情况。

(我的第一个有效案例的代码)

a = doc.xpath("//table[contains(@class, 'infobox')]")
b = a[0].xpath("//table//th[contains(text(),'Country') or contains(text(),'country')]")
country = b[0].xpath("./../td//a//text()")[0].replace(" ", "_")

我知道为什么它对其他情况不起作用,但我不知道如何解决。

  1. 关键字“国家”在<th>

<tr class="mergedtoprow">
<th scope="row">Country</th>
<td>
<a href="/wiki/Poland" title="Poland">Poland</a>
</td>
</tr>

  1. 关键词“国家”在<a><span><th>

    ` Constituent country England

        <tr class="mergedrow">
    <th scope="row">
    <span class="nowrap">
    <a href="/wiki/Countries_of_the_United_Kingdom" title="Countries of the
    United Kingdom">Constituent country
    </a>
    </span>
    </th>
    <td>
    <span class="flagicon"><img alt="" src="SRC (never mind)" width="23"
    height="14" class="thumbborder" srcset="SRC (never mind)" />&#160;
    </span>
    <a href="/wiki/England" title="England">England</a>
    </td>
    </tr>

  2. 关键词“国家”在<a><th>

     

    <tr class="mergedrow">
    <th scope="row">
    <a href="/wiki/Countries_of_the_United_Kingdom" title="Countries of the United Kingdom">Country
    </a>
    </th>
    <td>England</td>
    </tr>

    `

最佳答案

在所有提到的情况下,您可以使用下面的 XPath 来匹配所需的 th 元素:

//th[matches(normalize-space(), "country", "i")]

请注意,"i" 标志允许进行不区分大小写的搜索,因此应匹配 "Country"和 "country"

如果你的工具只支持XPath 1.0你可以使用

//th[contains(.,'Country') or contains(.,'country')]

关于html - 使用 xpath 从表中抓取和提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44215786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com