BeautifulSoup назначить несколько тегов .text переменной - PullRequest
1 голос
/ 29 апреля 2020

Предположим, у меня есть HTML веб-сайт со следующим кодом:

<div class="random-texts">
    <p>abc</p>
    <p>def</p>
    <p>ghi</p>
</div>

Я попытался использовать tags = soup.select ('div [class = "random-тексты"> p') и после этого возвращает список:

[<p>abc</p>, <p>def</p>, <p>ghi</p>]

Чтобы извлечь тексты, я использую для l oop, чтобы перебрать элементы:

for tag in tags:
    tag.text

abc
def
ghi

Итак, мой вопрос, как мне сохранить все тексты из абзацев в переменной (например, paras_texts)

print(paragraph_texts)
abc def ghi

Извинения, если это звучит как глупо очевидный вопрос.

Я не очень опытен в Python.

1 Ответ

2 голосов
/ 29 апреля 2020
from bs4 import BeautifulSoup

html = """<div class="random-texts">
    <p>abc</p>
    <p>def</p>
    <p>ghi</p>
</div>
"""

soup = BeautifulSoup(html, 'html.parser')

val = list(soup.select_one("div.random-texts").stripped_strings)

print(val)

# or unpacking

print(*val)

Выход:

['abc', 'def', 'ghi']

А

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