Любой способ извлечь конкретный div из красивого супа - PullRequest
0 голосов
/ 19 сентября 2019

Я столкнулся с проблемой при работе над проектом очистки веб-страниц в Python.Я новичок в Python и не уверен, как извлечь конкретную строку или значение из части строки, из красивого вывода супа.Я хотел бы получить только часть о редкости данных с этого сайта, но я не нашел, как это сделать, не удаляя всю строку из списка.

Любая помощь очень ценится!

У меня есть это:

rarity = soup.find_all('div', {'class': 'profileCards__card'})
print(rarity[0])

Это выводит:

<div class="profileCards__card  upgrade " data-level="902" data-elixir="2" data-rarity="102" data-arena="802">
<a href="https://statsroyale.com/card/Giant+Snowball"><img src="//cdn.statsroyale.com/images/cards/full/snowball.png"><span class="profileCards__level">lvl.9</span></a>
<div class="profileCards__meter">
<span style="width: 100%"></span>
<div class="profileCards__meter__numbers">
8049/800
</div>
</div>
<div class="ui__tooltip ui__tooltipTop ui__tooltipMiddle cards__tooltip">
Giant Snowball
</div>
</div>

В идеале я хотел бы получить только значение после редкости данных, так что только 102 части из этого при проверкеэлемент сайта.

<div class="profileCards__cards">
<div class="profileCards__card  upgrade " data-level="902" data-elixir="2" data-rarity="102" data-arena="802">
<a href="https://statsroyale.com/card/Giant+Snowball"><img src="//cdn.statsroyale.com/images/cards/full/snowball.png"><span class="profileCards__level">lvl.9</span></a>
<div class="profileCards__meter">
<span style="width: 100%"></span>
<div class="profileCards__meter__numbers">
8049/800
</div>
</div>
<div class="ui__tooltip ui__tooltipTop ui__tooltipMiddle cards__tooltip">
Giant Snowball
</div>
</div>

1 Ответ

0 голосов
/ 19 сентября 2019

Использование:

rarity = soup.find_all('div', {'class': 'profileCards__card'})
for r in rarity:
    print(r.find("div", {'class': 'profileCards__card'})["data-rarity"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...