【问题标题】:Unexpected htmlelement results from lxml来自 lxml 的意外 htmlelement 结果
【发布时间】:2020-08-28 13:08:16
【问题描述】:

我的代码:

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 包含所有艺术家,我的期望是它只包含一个艺术家。为什么我得到所有艺术家作为结果?我很难看到x 变量超出"<Element div at 0x10db2bad0>" 的详细内容

非常感谢

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

【问题讨论】:

    标签: python web-scraping lxml


    【解决方案1】:

    尝试更改您的 for 循环

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

    到

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

    看看它是否有效。

    【讨论】:

    • @patrup 很高兴它对你有用!如果我们完成了,请不要忘记接受答案。
    猜你喜欢
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2015-11-02
    • 1970-01-01
    相关资源
    最近更新 更多