Почему не работает BeautifulSoup find_all - PullRequest
0 голосов
/ 04 мая 2018

Я решил просмотреть исходный код сайта и выбрал класс, который «расширен». Я хотел распечатать все его содержимое с этим кодом:

import requests
from bs4 import BeautifulSoup

page = requests.get("https://www.quora.com/How-can-I-write-a-bot-using-Python")
soup = BeautifulSoup(page.content, 'html.parser')
print soup.find_all(class_='expanded')

но он просто печатает:

[]

Пожалуйста, помогите мне определить, что не так.

Я уже видел эту тему и попытался следовать тому, что сказал ответ, но это не помогло мне, так как эта ошибка появляется в терминале:

bs4.FeatureNotFound: Не удалось найти конструктор дерева с требуемыми функциями: lxml. Вам нужно установить библиотеку парсера?

1 Ответ

0 голосов
/ 04 мая 2018

При поиске значения класса вы должны передать его следующим образом:

soup.find_all(attrs={"class":"expanded"})

При этом я не вижу ничего в исходном коде этого сайта с классом "расширенный". Самая близкая вещь, которую я мог найти, была class = 'ui_qtext_expanded'. Если это то, что вы пытаетесь найти, вам нужно включить всю строку.

soup.find_all(attrs={"class":"ui_qtext_expanded"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...