如何在xpath python中转换变量
Posted
技术标签:
【中文标题】如何在xpath python中转换变量【英文标题】:how to cast a variable in xpath python 【发布时间】:2014-12-05 12:06:39 【问题描述】:from lxml import html
import requests
pagina = 'http://www.beleggen.nl/amx'
page = requests.get(pagina)
tree = html.fromstring(page.text)
aandeel = tree.xpath('//a[@title="Imtech"]/text()')
print aandeel
这部分有效,但我想阅读具有不同标题的多行,是否可以将“Imtech”部分更改为变量?
像这样的东西,它显然不起作用,但我哪里出错了?还是没那么容易?
FondsName = "Imtech"
aandeel = tree.xpath('//a[@title="%s"]/text()')%(FondsName)
print aandeel
【问题讨论】:
【参考方案1】:你几乎是对的:
variabelen = [var1,var2,var3]
for var in variabelen:
aandeel = tree.xpath('//a[@title="%s"]/text()' % var)
【讨论】:
这就是我要找的东西,我想它也适用于字典? 你的意思是字典而不是列表? 是的,我现在已经搞定了,多亏了你和一点即兴发挥【参考方案2】:几乎……
FondsName = "Imtech"
aandeel = tree.xpath('//a[@title="%s"]/text()'%FondsName)
print aandeel
【讨论】:
【参考方案3】:XPath 允许 $variables
和 lxml 的 .xpath()
方法允许为这些变量提供值作为关键字参数:.xpath('$variable', variable='my value')
使用您的示例,您可以这样做:
fonds_name = 'Imtech'
aandeel = tree.xpath('//a[@title="$title"]/text()', title=fonds_name)
print(aandeel)
有关更多信息,请参阅 lmxl 的文档:http://lxml.de/xpathxslt.html#the-xpath-method
【讨论】:
以上是关于如何在xpath python中转换变量的主要内容,如果未能解决你的问题,请参考以下文章