царапать вопросы, ответы, даты и голоса из кворы - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь собрать ответы, даты и цифры ответа из этого ответа , используя beautifulsoup - однако я не могу выбрать class="pagedlist_item". Причина, по которой я хотел бы начать с этого класса, который включает в себя содержание каждого ответа, состоит в том, что в некоторых сообщениях нет, например, голосов «за», поэтому я бы в итоге получил список элементов разной длины на случай, если чего-то не хватает, а также смешивая порядок тех же переменных.

items_soup = BeautifulSoup(html, "html")
items_soup.find_all("div", {"class" : "pagedlist_item"})

, когда я запускаю этот код, он возвращает пустой список - так что вы не знаете, что не так? из этого я хотел бы затем извлечь текст ответа, дату и цифру возражения (даже если ее нет - поэтому в основном замените пустое на 0).

возможно ли разделить и получить каждый из перечисленных элементов? текст ответов, дата ответа и цифра ответа для ответа - цель состоит в том, чтобы затем создать фрейм данных.

, чтобы иметь в виду: пост содержит 49 ответов, но не показывает все из них, если вы не не прокрутите вниз, и я хотел бы очистить все 49 ответов.

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Нет пустого списка, когда я запускаю следующее:

import requests
from bs4 import BeautifulSoup

html ='https://www.quora.com/What-is-the-brutal-truth-about-data-scientists'
r = requests.get(url).text
soup = BeautifulSoup(r, 'html')
soup.find_all("div", {"class" : "pagedlist_item"})

Пожалуйста, проверьте это! Не уверен, что вы включили запросы.

0 голосов
/ 24 января 2020

Я могу получить то, что вы ищете, с помощью следующего кода:

import requests
from bs4 import BeautifulSoup

url = 'https://www.quora.com/What-is-the-brutal-truth-about-data-scientists'
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')

question = soup.find('span', {'class': 'ui_qtext_rendered_qtext'})
answers = [ s.text for s in soup.find_all("div", {"class" : "pagedlist_item"}) if s.text ]

приводит к question == 'What is the brutal truth about data scientists?' и списку из 28 ответов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...