如何使用 xpath 获取 children 的 children 列表?
How to get list of childrens of children using xpath?
有 table 个元素,其中包含 tr 个元素。虽然每个 tr 元素中都有 td 元素。
<table>
<tr>
<td> some data </td>
<td> other data </td>
</tr>
</table>
我想成对地从 td 元素中获取文本。但我愿意用 xpath 来做。
因此,我通过应用 xpath 从一个变量中的 lxml 树中获取了 tr 元素。然后应用 xpath 从该变量中获取 td 元素。但是我从 table 获取了所有 td 元素,我只想限制来自该变量的 td 元素!
table = parsed.xpath("//table")
trElementFirst = table.xpath("/tr")[0]
tdElementsFromFirstTr = trElementFirst.xpath("/td")
我只想获取第一个 tr 元素的 td 元素列表。但是我从 table.
得到了所有 td 元素的列表
tdElementsFromFirstTr = trElementFirst.xpath("//td")
抢全 td
import lxml.html as html
htmlStr = '''<table>
<tr>
<td> some data </td>
<td> other data </td>
</tr>
<tr>
<td> NO </td>
<td> OTHER NO </td>
</tr>
</table>'''
parsed = html.fromstring(htmlStr)
table = parsed.xpath("//table")
trElementFirst = table[0].xpath("tr")[0]
tdElementsFromFirstTr = trElementFirst.xpath("td")
for each in tdElementsFromFirstTr:
print (each.text)
输出:
some data
other data
有 table 个元素,其中包含 tr 个元素。虽然每个 tr 元素中都有 td 元素。
<table>
<tr>
<td> some data </td>
<td> other data </td>
</tr>
</table>
我想成对地从 td 元素中获取文本。但我愿意用 xpath 来做。
因此,我通过应用 xpath 从一个变量中的 lxml 树中获取了 tr 元素。然后应用 xpath 从该变量中获取 td 元素。但是我从 table 获取了所有 td 元素,我只想限制来自该变量的 td 元素!
table = parsed.xpath("//table")
trElementFirst = table.xpath("/tr")[0]
tdElementsFromFirstTr = trElementFirst.xpath("/td")
我只想获取第一个 tr 元素的 td 元素列表。但是我从 table.
得到了所有 td 元素的列表tdElementsFromFirstTr = trElementFirst.xpath("//td")
抢全 td
import lxml.html as html
htmlStr = '''<table>
<tr>
<td> some data </td>
<td> other data </td>
</tr>
<tr>
<td> NO </td>
<td> OTHER NO </td>
</tr>
</table>'''
parsed = html.fromstring(htmlStr)
table = parsed.xpath("//table")
trElementFirst = table[0].xpath("tr")[0]
tdElementsFromFirstTr = trElementFirst.xpath("td")
for each in tdElementsFromFirstTr:
print (each.text)
输出:
some data
other data