Ich versuche, einige Web-Scrapping-Beispiele zu tun. Ich herunterladen Daten von einer Website und die Daten aus XML und sein Aussehen wie dieseSo extrahieren Sie die erforderlichen Daten aus xml
ValCurs Date="20.04.2016" name="Official exchange rate">
<Valute ID="47">
<NumCode>978</NumCode>
<CharCode>EUR</CharCode>
<Nominal>1</Nominal>
<Name>Euro</Name>
<Value>22.4023</Value>
</Valute>
<Valute ID="44">
<NumCode>840</NumCode>
<CharCode>USD</CharCode>
<Nominal>1</Nominal>
<Name>US Dollar</Name>
<Value>19.7707</Value>
</Valute>
.
.
.
.
.
gibt es mehr als 25 Währungen.
Ich möchte nur den Währungsnamen und den Wert, die den Wechselkurs darstellen, extrahieren. Ich habe Daten für 50 Tage und möchte den durchschnittlichen Wechselkurs jeder Währung für diese 50 Tage berechnen. Ich lade die Daten herunter und speichere sie in XML-Dateien. und mein Code ist wie folgt.
import os
import requests as rq
from bs4 import BeautifulSoup
from xml.etree import ElementTree as ET
def saveData(path, date):
session = rq.session()
url = 'https://www.bnm.md/en/official_exchange_rates?get_xml=1&date=' + date
datastore = session.get(url)
with open(path, 'wb') as f:
f.write(datastore.content)
value = ET.fromstring('/home/robbin/Desktop/20.04.2016.xml').find('Name/value')
if value:
print 'Found value:', value.text
def main():
dates = ['20.04.2016', '21.04.2016', '22.04.2016']
paths = []
for date in dates:
path = '/home/robbin/Desktop/{}.xml'.format(date)
paths.append(path)
for path, date in zip(paths, dates):
saveData(path, date)
if __name__ == '__main__':
main()
Ich habe diesen Fehler: Erhöhung err
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 0
Mein Problem ist, dass ich nicht in der Lage bin, den Namen und den Wert von Daten aus diesen XML-Daten zu extrahieren. Ich habe einige Beispiele über SO und Internet gesehen, aber sie sind ziemlich verschieden von meinem Fall. Wenn jemand helfen kann, wäre es großartig.
Ich habe versucht, Ihre Lösung, aber es ist nicht zurückgeben oder etwas auf dem Bildschirm drucken und Nabaz erwähnen, dass Xml nicht richtig formatiert ist. Ich habe diese Daten von einer Website und Website ist in der URL in den Code gegeben – robbin
Versuchen Sie die gepostete 'savedData'-Funktion ... –
vielen Dank, es funktioniert jetzt und ich kann Werte aus XML-Tags extrahieren. Du sparst meinen Tag. Hab einen schönen Tag – robbin