python - 使用 Xpath 在 python 中获取元组列表

标签 python list xpath tuples

我想在 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/

相关文章:

python - 关于 read_file() 的 Geopandas 警告

python - 列表中列表之间的公共(public)列表

java - 列出 retainAll 异常

php - XPath查询结果顺序

xml - 如何选择没有文本子元素的元素

python - smtp 短信代码未发送

python - 如何在 matplotlib 中绘制受数据点限制的网格

python - scrapy 问题 : xpath & regex - Regex not working as it should be

python - Django 中的详细弃用警告

android - Google Glass 上的 ListView