PingWins
@PingWins
Начинающий, а может и нет Python программист

Как вывести определеные теги xml Python?

У меня есть вот такой сайт
Мне надо с него взять атрибут title, wind_speed и др.
Я написал вот так и он мне выдавал все атрибуты с текстом
from bs4 import BeautifulSoup
import requests

spicok = []
r = requests.get('https://export.yandex.ru/bar/reginfo.xml?region=76')
soup = BeautifulSoup(r.text, 'html.parser')
print(soup)
  • Вопрос задан
  • 1128 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BJlaDuMup
Установи lxml, если не установлен:
pip install lxml
--------------------------------------
import requests
from bs4 import BeautifulSoup

spicok = []
r = requests.get('https://export.yandex.ru/bar/reginfo.xml?region=76')
soup = BeautifulSoup(r.text, 'lxml')
element = 'title'
find_element = soup.find(element)
# print(soup)
print(find_element.text)

Готовая реализация:
import requests
from bs4 import BeautifulSoup


def get_spicok(*args):
	spicok = []
	for element in args:
		try:
			find_element = soup.find(element)
			spicok.append(find_element.text)
		except AttributeError:
			print(f'Тег <{element}> не найден!')
	return spicok

r = requests.get('https://export.yandex.ru/bar/reginfo.xml?region=76')
soup = BeautifulSoup(r.text, 'lxml')

spicok = get_spicok('title', 'wind_speed', 'и тд')
print(spicok) # Вывод:
# Тег <и тд> не найден!
# ['Хабаровск', '2']
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы