如何在Python中使用XPath定义变量

2024-04-26 09:41:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: textfromimporttreetitlehtmlpagerequests
3条回答

你几乎是对的:

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

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

几乎。。。

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

相关问题 更多 >