не находится тег по id
Не находится тег по id
Код:
import requests
from bs4 import BeautifulSoup
url_card = 'https://clashroyale.fandom.com/wiki/Minions'
r = requests.get(url_card)
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text, 'html.parser')
with open('test.html', 'w', encoding='utf-8') as f:
f.write(r.text)
tag = soup.table
if tag['id']=="unit-attributes-table":
unit_stat = tag
print(unit_stat)
Результат:
<table class="wikitable" id="unit-attributes-table" style="width:100%; text-align:center;">
<tbody><tr>
<th scope="col">Cost<br/><img alt="Elixir" class="lazyload" data-image-key="Elixir.png" data-image-name="Elixir.png" data-src="https://static.wikia.nocookie.net/clashroyale/images/4/43/Elixir.png/revision/latest/scale-to-width-down/26?cb=20160530182631" decoding="async" height="26" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" title="Elixir" width="26"/>
</th>
<th scope="col">Hit Speed<br/><img alt="Damage Speed" class="lazyload" data-image-key="Icons_stats_dmg_speed.png" data-image-name="Icons stats dmg speed.png" data-src="https://static.wikia.nocookie.net/clashroyale/images/7/7c/Icons_stats_dmg_speed.png/revision/latest/scale-to-width-down/26?cb=20160115223334" decoding="async" height="26" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" title="Damage Speed" width="26"/>
</th>
Проблема:
При смене тега на "unit-statistics-table"
ничего не находит .
Хотя в html документе он есть.
Заранее спасибо
Ответы (2 шт):
Автор решения: kopcap44
→ Ссылка
по стандарту в bs4 на выход идёт html код, если хотите получить текст следует использовать функцию .getText()
Автор решения: Павел Осипенко
→ Ссылка
soup.table находит только первый тег <body> и останавливает поиск.
тег unit-statistics-table находится во втором теге
Вам надо искать методом find_all() и уже в результатах через цикл находить теги с нужными id.
А вообще, если вы знаете id то быстрее находить сразу по id:
uat = soup.find(id='unit-attributes-table')
ust = soup.find(id='unit-statistics-table')
https://www.crummy.com/software/BeautifulSoup/bs4/doc.ru/bs4ru.html#id20