Kontext:dryscrape: „Keine Route gefunden .....“
Ich versuche, mein eigenes Geld Aggregator zu codieren, weil die meisten der verfügbaren Tools auf dem Markt nicht alle Finanz-Websites noch nicht abdeckt. Ich benutze Python 2.7.9 auf einem raspberrypi.
Ich schaffte es, bis zu 2 meiner Konten bisher (eine Crow-Lending-Website und eine für meine Pension) dank Anfragen Bibliothek verbinden. Die dritte Website, die ich versuche zu aggregieren, gibt mir seit 2 Wochen jetzt harte Zeit und ihr Name ist https://www.amundi-ee.com.
Ich fand heraus, dass die Website tatsächlich JavaScript verwendet und nach vielen Recherchen endete ich mit dryscrape (ich kann Selen nicht verwenden, weil Arm nicht mehr unterstützt wird).
Ausgabe:
Bei der Ausführung von Code:
import dryscrape
url='https://www.amundi-ee.com'
extensionInit='/psf/#login'
extensionConnect='/psf/authenticate'
extensionResult='/psf/#'
urlInit = url + extensionInit
urlConnect = url + extensionConnect
urlResult = url + extensionResult
s = dryscrape.Session()
s.visit(urlInit)
print s.body()
login = s.at_xpath('//*[@id="identifiant"]')
login.set("XXXXXXXX")
pwd = s.at_xpath('//*[@name="password"]')
pwd.set("YYYYYYY")
# Push the button
login.form().submit()
s.visit(urlConnect)
print s.body()
s.visit(urlResult)
Es gibt ein Problem, wenn der Code Besuche urlConnect Linie 21, der Körper Druckleitung 22 gibt die folgende Liste:
{"code":405,"message":"No route found for \u0022GET \/authenticate\u0022: Method Not Allowed (Allow: POST)","errors":[]}
Frage
Warum habe ich eine solche Fehlermeldung und wie kann ich mich auf der Website anmelden, um die gesuchten Daten abzurufen?
PS: Mein Code Inspiration kommt aus dieser Ausgabe Python dryscrape scrape page with cookies
Verwenden Sie time.sleep (5) nach dem Anmelden. Dann versuchen Sie es erneut und sagen Sie, ob ein Fehler auftritt – Exprator
Sorry, ich konnte es nicht früher testen, leider nach dem Einschalten des Schlafes direkt nach dem Login (login.form(). Submit()) Problem tritt immer noch auf (ich versuche auch die Zeit zu verdoppeln) –
Eine Sache nach dem Login-Formular absenden, drucken Sie die aktuelle URL wie folgt, s.url() und prüfen Sie, ob die URL ist die, die Sie kratzen wollen. dann speichern Sie es in einer Variablen und dann s.visit (url), denn wenn Sie versuchen, auf eine Seite zuzugreifen, die Login-geschützt ist, wird es Fehler geben – Exprator