Мне нужно получить текст из 2 различных тегов span с BeautifulSoup - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь получить эти значения из следующего кода, текст в span под Developer и Genres

<div _ngcontent-sc18="" class="col-xl-6">
  <!-- -->
  <p _ngcontent-sc18="" class="mb-2">
    <strong _ngcontent-sc18="">
     Developer:
    </strong>
  <!-- -->
  <span _ngcontent-sc18="">
     Capy Games
  </span>
  </p>
  <!-- -->
  <!-- -->
  <p _ngcontent-sc18="" class="mb-2">
    <strong _ngcontent-sc18="">
     Genres:
    </strong>
    <!-- -->
    <span _ngcontent-sc18="">
     Action,
    </span>
    <span _ngcontent-sc18="">
     Platformer
    </span>
  </p>
</div>

Я могу получить значения отлично, если есть только один жанр, но если Есть два, я могу только понять, как вытащить первый. Это то, что у меня есть до сих пор

for y in gamesoup.find_all('p', class_= 'mb-2'):
    if y.strong.text == "Developer: ":
        devs.append(y.span.text)
    if "Genre" in y.strong.text:
        genres.append(y.span.text)

Что я могу сделать, чтобы получить оба значения из жанра?

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2020

Использование find_all('span') внутри if оператора жанра.

for y in gamesoup.find_all('p', class_= 'mb-2'):
    if y.strong.text == "Developer: ":
        devs.append(y.span.text)
    if "Genre" in y.strong.text:
        for genre in y.find_all('span'):
            genres.append(genre.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...