Класс P пуст, используя find_all, хотя он там - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь очистить страницы Kickstarter с помощью BeautifulSoup, специально для раздела «Риски и проблемы», но не могу заставить его работать.

import requests
from bs4 import BeautifulSoup

response = requests.get("https://www.kickstarter.com/projects/snapmaker/snapmaker-20-modular-3-in-1-3d-printers")

soup = BeautifulSoup(response.content, "html.parser")
project = soup.find("p", {"class" :"js-risks-text text-preline"})

Я распечатываю проект, и он пуст , Может кто-нибудь сказать мне, почему это происходит? Я проверил, что ответ работал, просто позвонив find_all на p.

1 Ответ

0 голосов
/ 06 марта 2020

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

from selenium import webdriver

browser = webdriver.Firefox()
browser.get("https://www.kickstarter.com/projects/snapmaker/snapmaker-20-modular-3-in-1-3d-printers")

html = browser.page_source
soup = BeautifulSoup(html, "lxml")
project = soup.find("p", {"class" :"js-risks-text"})

Вывод:

Это наша вторая кампания на Kickstarter. На сегодняшний день мы доставили более 10 000 устройств пользователям в более чем 100 странах. Мы используем ту же базу поставок, которую создали за последние два года с помощью нашего первого продукта. И мы продолжаем улучшать наш производственный процесс и технику. Мы также выбрали лучших поставщиков в этой отрасли. Мы уверены, что обеспечим качество продукции и выполним сроки поставки. Snapmaker 2.0 - более сложный продукт, чем оригинальная модель. Во время опытного производства могут возникнуть непредвиденные риски. Класс безопасности лазерного модуля в Snapmaker 2.0 - это класс 4. Мы уделим особое внимание получению сертификатов FDA / FCC / CE / RoHS в конце августа, которые необходимы для доставки нашей продукции в США, ЕС и большинство регионов в Мир. Когда мы выполнили нашу первую кампанию на Kickstarter, мы столкнулись с трудным решением отложить массовое производство, чтобы соответствовать высоким стандартам качества и пользовательского опыта. Мы не осуществляем доставку, если наш продукт не соответствует этим высоким стандартам или не превышает их.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...