Как извлечь текст для определенного имени класса с последующим конкретным текстом? - PullRequest
1 голос
/ 26 октября 2019

Я пытаюсь собрать веб-данные, используя BeautifulSoup в Python. Я специально пытаюсь извлекать из машины особенности разных типов. Например, в HTML-коде, вставленном ниже, я пытаюсь выделить «Удаленный запуск», «Система навигации» и «Обогрев рулевого колеса» в качестве функций «Удобство». Может кто-нибудь, пожалуйста, дайте мне знать, как извлечь и сохранить функции для каждой такой категории?

enter image description here

1 Ответ

1 голос
/ 26 октября 2019

Вот способ сделать это:

import bs4
your_source_code = "<html>..."
soup = bs4.BeautifulSoup(your_source_code, "html.parser")

result = {}

for group in soup.find_all("div", {"class": "details-feature-list--normalized-features"}):
    result[group.find("h2", {"class": "cui-heading-2"}).text] = [itm.text for itm in group.find_all("li", {"class": "details-feature-list__item"})]

Результат - это как:
{"Convenience": ["Remote Start", "Navigation System", "Heated Steering Wheel"]}

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