Прошу извинить начальное знание Python. Мне нужно использовать BeautifulSoup для итерации по определенному элементу в файле XML.Создание словаря из XML-файла с использованием Python и BeautifulSoup
Я пытаюсь получить информацию из файла XML, созданного с веб-сайта погоды, сейчас я сохраняю XML как это;
def aber_forcast():
url = "http://api.met.no/weatherapi/locationforecast/1.9/?lat=52.41616;lon=-4.064598"
response = requests.get(url)
xml_text=response.text
soup= bs4.BeautifulSoup(xml_text, "xml")
f = open('file.xml', "w")
f.write(soup.prettify())
f.close()
return (soup)
Я пытаюсь подсчитать числа на символе элемента 'id. Мне нужно будет создать график идентификатора символа и сколько раз это происходит во всем XML. Я могу получить все символы symbol_id в один список;
with open ('file.xml') as file:
soup = bs4.BeautifulSoup(file, "xml")
symbol_id = soup.find_all("symbol")
print(symbol_id)
Там являются «Облако», «Дождь» и т.д., и связанный с ним идентификационный номер, который идет с ним, посмотрев через StackOverflow, я предполагаю, что это что-то вроде кода ниже, мне нужно будет создать словарь связанные номера и идентификаторы затем подсчитывают итерации.
def parseLog(file):
file = sys.argv[1]
handler = open(file).read()
soup = Soup(handler)
for sym in soup.findAll('symbol'):
msg_attrs = dict(sym.attrs)
f_user = sym.find('symbol id').user
f_user_dict = dict(f_user.attrs)
print ((f_user_dict[u'symbols'], sym.find('number').decodeContents())
Любая помощь или совет будет очень жаль, если вопрос не имеет смысла. Я все еще новичок во всем этом.
Это в значительной степени именно то, что я ищу, это выглядит так легко, когда вы знаете, как, только одну строку кода. Большое спасибо. :) –
Нет проблем. См. Один ответ, который я добавил. –