Удаление тегов из текста с BeautifulSoup - PullRequest
0 голосов
/ 06 января 2020

У меня есть этот код для извлечения названия песни со страницы канала NightBot:

import urllib.request
from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.Firefox(executable_path=r'C:\Users\gabri\AppData\Local\Programs\Python\Python38-32\geckodriver.exe')
driver.get ('https://nightbot.tv/t/tonyxzero/song_requests')

html = driver.page_source

soup = BeautifulSoup(html, 'html.parser')
list_item=soup.select("h4 > strong.ng-binding")
print (list_item)
name = list_item.text.strip()
print (name)

Но когда я запускаю его, показывает мне что-то вроде этого:

[<strong class="ng-binding">Jamiroquai - Virtual Insanity (Official Video)<!-- ngIf: currentSong.track.artist --><span class="ng-binding ng-scope" ng-if="currentSong.track.artist" style=""> — JamiroquaiVEVO</span><!-- end ngIf: currentSong.track.artist --></strong>]

И их это:

AttributeError: ResultSet object has no attribute 'text'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?

Есть еще один способ просто показать текст без тегов?

Ответы [ 2 ]

1 голос
/ 06 января 2020

soup.select() возвращает список элементов, а не элемент. Чтобы получить значение каждого элемента, которое необходимо перебрать.

list_item=soup.select("h4 > strong.ng-binding")
print (list_item)
for item in list_item:
  name = item.text.strip()
  print (name)
1 голос
/ 06 января 2020
import urllib.request
from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.Firefox(executable_path=r'C:\Users\gabri\AppData\Local\Programs\Python\Python38-32\geckodriver.exe')
driver.get ('https://nightbot.tv/t/tonyxzero/song_requests')

html = driver.page_source

soup = BeautifulSoup(html, 'lxml')
name=soup.find('strong',{'class':'ng-binding'}).text
#print (list_item)
#name = list_item.text.strip()
print (name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...