prettify работает с Soup, но не с Soup1 = Soup.find_all - PullRequest
0 голосов
/ 08 мая 2020
MyAlphaSoup = BeautifulSoup(website_to_crawl.text, 'html.parser')

MyAlphaSoup.prettify()

MyAlphaAlphaSoup = MyAlphaSoup.find_all("div", {"class": "lister-item featurefilm"})

MyAlphaAlphaSoup.prettify()

Я получаю сообщение об ошибке в 4-й строке

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

Разве soup.find_all не просто сокращает суп до меньшего количества? так что тип не меняется?

Ошибка

Код Pi c

1 Ответ

0 голосов
/ 08 мая 2020

Это потому, что функция find_all возвращает список. Таким образом, вы сможете сделать это, если укажете элемент списка или l oop через них:

my_alpha_soup = BeautifulSoup(website_to_crawl.text, 'html.parser')

my_alpha_soup.prettify()

list_of_elements = my_alpha_soup.find_all("div", {"class": "lister-item featurefilm"})

for element in list_of_elements:
    print(element.prettify())

Кроме того, существует соглашение об использовании только начальных заглавных букв для классов.

...