来自 lxml 的意外 htmlelement 结果

Unexpected htmlelement results from lxml

我的代码:

from lxml import html
import request

currentPage = requests.get('https://www.bbc.co.uk/programmes/m000lyx0')
currentTree = html.fromstring(currentPage.content)
currentTree = html.parse("./index.html")
beilagen = currentTree.xpath('//div[@class="segment__track"]')
for x in beilagen:
    artist = x.xpath('//span[@class="artist"]/text()')
f.close()

我正在尝试从 html 中提取艺术家和歌曲。变量 beilagen 是所有曲目的列表。在 for 循环中,我试图获取每个单独的曲目,但变量 artist 包含所有艺术家,我的期望是它只包含一个艺术家。为什么我得到所有艺术家的结果?我很难看到超出 "<Element div at 0x10db2bad0>"

x 变量的详细内容

非常感谢

html: https://www.bbc.co.uk/programmes/m000lyx0

尝试将 for 循环从

更改为
artist = x.xpath('//span[@class="artist"]/text()')

artist = x.xpath('.//span[@class="artist"]/text()')

看看它是否有效。