从网页获取 <div> 的特定部分

Getting specific part of <div> from webpage

我目前正在使用 aiohttp 和 lxml 来抓取网页和 return 值。到目前为止,我有

def get_sr(page, tree): 
    sr = tree.xpath(".//div[@class='competitive-rank']/div/text()")[0]
    return sr 
def get_icon_url(page, tree):
    url = tree.xpath('.//img[@class="player-portrait"]/@src')[0]
    return url
def get_sr_icon_url(page, tree):
    url = tree.xpath('.//div[@class="competitive-rank"]/img/@src')[0]
    return url
def get_level(page, tree): 
    level = tree.xpath('.//div[@class="header-avatar"]/text()')[0]
    return level

前 3 个函数完美运行,但最终函数无法正确获取我要查找的文本。这个:

<div class="header-avatar">
                        <img src="https://blzgdapipro-a.akamaihd.net/game/unlocks/0x0250000000001150.png" width="80" height="80">
                        <span>369</span>
                    </div>

是我试图从中获取号码的代码块。目前,这个数字是 369,但它会不断变化。我已经通过打印语句确认页面和树是正确的,所以它是实际 get_level 方法本身的问题。

帮忙?确定问题还需要其他代码吗?

感谢您的帮助。

试试这个:

level = tree.xpath('.//div[@class="header-avatar"]/span/text()')[0]