我想在 python 中使用 xpath 获取一个元组列表,例如:
page = requests.get('url')
tree = html.fromstring(page.content)
list_a = tree.xpath('//div[@class="a"]/text()')
list_b = tree.xpath('//div[@class="b"]/text()')
list_a 和 list_b 应该组合成一个唯一的列表,以便同一索引的每个元素形成一个元组。
也许我可以通过操作两个列表来做到这一点,但如果可能的话,我更愿意通过调用 xpath 直接获取元组列表。
最佳答案
您可以先获取元素列表:
result = tree.xpath('//div[@class="a" or @class="b"]/text()')
这将生成匹配两个约束之一的元素列表。接下来我们可以zip
他们连同:
result = iter(result)
result = list(zip(result,result))
这会一次调用 xpath
,然后使用一些后处理来获取元组。请注意,如果两个 <td class="a">
标 checkout 现在 <td class="b">
之前标签,它们将被打包成一个元组。所以重要的是 <td class="a">
和 <td class="b">
是交错的。
关于python - 使用 Xpath 在 python 中获取元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42838469/