Динара Тагирова
Ученик
(72)
2 дня назад
import requests
from bs4 import BeautifulSoup
# URL страницы с героями Marvel (например, Wiki или другой источник)
url = "https://marvel.fandom.com/wiki/Category:Characters"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
heroes_data = []
# Поиск всех ссылок на героев (это может варьироваться в зависимости от структуры сайта)
for link in soup.select('.category-page__member-link'):
hero_name = link.text
hero_link = link['href']
# Запрос на страницу героя
hero_response = requests.get(hero_link)
hero_soup = BeautifulSoup(hero_response.text, 'html.parser')
# Собираем нужные данные (это может варьироваться в зависимости от структуры страницы героя)
universe = hero_soup.select_one("tr:contains('Universe') + tr").text.strip() if hero_soup.select_one("tr:contains('Universe') + tr") else 'N/A'
other_aliases = hero_soup.select_one("tr:contains('Other aliases') + tr").text.strip() if hero_soup.select_one("tr:contains('Other aliases') + tr") else 'N/A'
education = hero_soup.select_one("tr:contains('Education') + tr").text.strip() if hero_soup.select_one("tr:contains('Education') + tr") else 'N/A'
place_of_origin = hero_soup.select_one("tr:contains('Place of origin') + tr").text.strip() if hero_soup.select_one("tr:contains('Place of origin') + tr") else 'N/A'
identity = hero_soup.select_one("tr:contains('Identity') + tr").text.strip() if hero_soup.select_one("tr:contains('Identity') + tr") else 'N/A'
known_relatives = hero_soup.select_one("tr:contains('Known relatives') + tr").text.strip() if hero_soup.select_one("tr:contains('Known relatives') + tr") else 'N/A'
heroes_data.append({
"name": hero_name,
"link": hero_link,
"universe": universe,
"other_aliases": other_aliases,
"education": education,
"place_of_origin": place_of_origin,
"identity": identity,
"known_relatives": known_relatives,
})
# Вывод данных о героях
for hero in heroes_data:
print(hero)