【问题标题】:how to cast a variable in xpath python如何在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

【问题讨论】:

    标签: python python-2.7 xpath lxml python-requests


    【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-09
        • 2016-09-12
        • 1970-01-01
        • 1970-01-01
        • 2021-01-26
        • 2012-02-25
        • 1970-01-01
        相关资源
        最近更新 更多