#python #web-scraping #lxml
#python #очистка веб-страниц #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 содержит всех исполнителей, и я ожидаю, что она содержит только одного исполнителя. Почему я получаю all artist в качестве результата? Мне трудно увидеть подробное содержимое x
переменной за пределами "<Element div at 0x10db2bad0>"
большое спасибо
Ответ №1:
Попробуйте изменить свой for
цикл из
artist = x.xpath('//span[@class="artist"]/text()')
Для
artist = x.xpath('.//span[@class="artist"]/text()')
и посмотрите, работает ли это.
Комментарии:
1. @patrup Рад, что это сработало для вас! Если мы закончили, не забудьте принять ответ, пожалуйста.