Bitte entschuldigen Sie meine Anfängerkenntnisse in Python. Ich muss BeautifulSoup verwenden, um über ein bestimmtes Element in einer XML-Datei zu iterieren.Erstellen eines Wörterbuchs aus einer XML-Datei mit Python und BeautifulSoup
Ich versuche, Informationen aus einer XML-Datei zu erhalten, die von einer Wetterwebsite erstellt wurde, jetzt speichere ich das XML so;
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)
Ich versuche, die Vorkommen auf das Element 'Symbol-ID' zu zählen. Ich muss ein Diagramm der Symbol-ID erstellen und wie oft es im gesamten XML auftritt. Ich kann es schaffen, alle symbol_id's in eine Liste zu bekommen.
with open ('file.xml') as file:
soup = bs4.BeautifulSoup(file, "xml")
symbol_id = soup.find_all("symbol")
print(symbol_id)
Es gibt ‚Cloud‘, ‚Regen‘ usw. und eine zugehörige ID-Nummer, die mit ihm geht, durch Stackoverflow sah zu haben, ich nehme an, es so etwas wie den Code unten ist muss ich ein Wörterbuch erstellen Die zugehörigen Zahlen und IDs zählen dann die Iterationen.
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())
Jede Hilfe oder Ratschläge wäre toll, sorry, wenn die Frage, die ich bin nicht viel Sinn machen noch neu zu all dies.
, die genau so ziemlich das, was ich suche, sieht es so einfach, wenn Sie wissen, wie, nur eine einzige Zeile Code. Danke vielmals. :) –
Kein Problem. Siehe die Antwort, die ich hinzugefügt habe. –