如何在xpath中输入变量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”部分更改为变量?如何在xpath中输入变量python
就像这样,它显然不起作用,但我哪里出错了?或者是不是很容易?
FondsName = "Imtech"
aandeel = tree.xpath('//a[@title="%s"]/text()')%(FondsName)
print aandeel
答
你是差不多吧:
variabelen = [var1,var2,var3]
for var in variabelen:
aandeel = tree.xpath('//a[@title="%s"]/text()' % var)
答
几乎...
FondsName = "Imtech"
aandeel = tree.xpath('//a[@title="%s"]/text()'%FondsName)
print aandeel
+0
,作品像一个魅力 – zazga 2014-10-10 10:50:55
答
XPath允许$variables
和LXML的.xpath()
方法允许这些变量作为关键字参数提供值:.xpath('$variable', variable='my value')
使用你的exa mple,这里是你会怎么做:
fonds_name = 'Imtech'
aandeel = tree.xpath('//a[@title="$title"]/text()', title=fonds_name)
print(aandeel)
见lmxl的文档的更多信息:http://lxml.de/xpathxslt.html#the-xpath-method
这就是我一直在寻找,我相信它也将与字典的工作? – zazga 2014-10-10 10:51:36
你的意思是一个字典而不是一个列表? – 2014-10-10 11:27:15
是的,我现在正在工作,都感谢你和一些即兴创作的神奇 – zazga 2014-10-14 11:12:41