如何在xpath python中转换变量

zaz*_*zga 6 python xpath lxml python-2.7 python-requests

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
Run Code Online (Sandbox Code Playgroud)

这部分有效,但我想阅读不同标题的多行,是否可以将"Imtech"部分更改为变量?

像这样的东西,它显然不起作用,但我哪里出错了?或者这不容易吗?

FondsName = "Imtech"
aandeel = tree.xpath('//a[@title="%s"]/text()')%(FondsName)
print aandeel
Run Code Online (Sandbox Code Playgroud)

Vin*_*man 9

你几乎是对的:

variabelen = [var1,var2,var3]
for var in variabelen:
    aandeel = tree.xpath('//a[@title="%s"]/text()' % var)
Run Code Online (Sandbox Code Playgroud)


Ooz*_*ter 5

XPath允许$variables,lxml的.xpath()方法允许为那些变量提供值作为关键字参数:.xpath('$variable', variable='my value')

使用您的示例,这是您的操作方法:

fonds_name = 'Imtech'
aandeel = tree.xpath('//a[@title="$title"]/text()', title=fonds_name)
print(aandeel)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见lmxl的文档:http ://lxml.de/xpathxslt.html#the-xpath-method