Где ошибка? Я хочу проанализировать текст без тегов.AttributeError: объект ResultSet не имеет атрибута 'find_all'
from bs4 import BeautifulSoup
import re
import urllib.request
f = urllib.request.urlopen("http://www.championat.com/football/news-2442480-orlov-zenit-obespokoen---pole-na-novom-stadione-mozhet-byt-nekachestvennym.html")
soup = BeautifulSoup(f, 'html.parser')
soup=soup.find_all('div', class_="text-decor article__contain")
invalid_tags = ['b', 'i', 'u', 'br', 'a']
for tag in invalid_tags:
for match in soup.find_all(tag):
match.replaceWithChildren()
soup = ''.join(map(str, soup.contents))
print (soup)
Ошибка:
Traceback (most recent call last):
File "1.py", line 9, in <module>
for match in soup.find_all(tag):
AttributeError: 'ResultSet' object has no attribute 'find_all'
вы заменили ' soup' с результирующим набором: 'soup = soup.find_all ('div', class _ =" text-decor article__contain ")'. Resulset - это просто список с дополнительной ссылкой на исходный объект супа. Мне непонятно, почему вы заменяете объект BeautifulSoup на набор результатов, если вы хотите выполнить вложенный поиск с помощью [селектора CSS] (https://www.crummy.com/software/BeautifulSoup/bs4/) doc/# css-selectors). –
Вы действительно хотите посмотреть [форматирование вывода] (https://www.crummy.com/software/BeautifulSoup/bs4/doc/#output), не сопоставляйте объекты со строками. –