Ich bin neu in der Webprogrammierung und habe kürzlich begonnen, Python zur Automatisierung manueller Prozesse einzusetzen. Ich versuche, mich bei einer Website anzumelden, auf einige Dropdown-Menüs zu klicken, um Einstellungen auszuwählen, und einen Bericht auszuführen.Verwenden der Python-Requests-Bibliothek zum Navigieren auf Webseiten/Klicken Sie auf die Schaltflächen
Ich habe die gefeierten Anfragen Bibliothek gefunden: http://docs.python-requests.org/en/latest/user/advanced/#request-and-response-objects und habe versucht, herauszufinden, wie man es benutzt.
ich erfolgreich angemeldet haben BPBP Antwort auf dieser Seite in Verwendung: How to use Python to login to a webpage and retrieve cookies for later usage?
Mein Verständnis von „Klicken“ ein Knopf ist ein post() Befehl zu schreiben, die einen Klick nachahmt: Python - clicking a javascript button
Meine Frage (Ich bin neu in der Webprogrammierung und in dieser Bibliothek), so würde ich die Daten ziehen, die ich brauche, um herauszufinden, wie ich diese Befehle erstellen würde. Ich habe [RequestObject] .headers, .text, usw. untersucht. Alle Beispiele wären großartig.
Wie immer, vielen Dank für Ihre Hilfe!
EDIT ::: Um diese Frage konkreter zu machen, habe ich Probleme mit verschiedenen Aspekten einer Webseite zu interagieren. Das folgende Bild zeigt, was ich zu tun, tatsächlich versuchen:
ich auf einer Web-Seite bin, der so aussieht. Es gibt ein Dropdown-Menü mit klickbaren Datumsangaben, die geändert werden können. Mein Ziel ist es, das Datum automatisch auf das neueste Datum zu ändern, auf "Speichern" und "Ausführen" zu klicken und den Bericht herunterzuladen, wenn er fertig ist.
Ich hatte nicht viel von einer Richtung, um Dinge mit zu versuchen. Ich habe den Beitrag mit einer konkreteren Idee von dem, was ich versuche, bearbeitet. Daher glaube ich nicht, dass es nur ein guter Parser ist, um HTML zu extrahieren, sondern wie man verschiedene Informationen auf die Seite "posten" kann, um andere zu erreichen Aufgaben, vor allem "Klicken" Aufgaben – so13eit
Check-out [Selen] (https://pypi.python.org/pypi/selenium), wenn Javascript in den Seiten ist, die Sie versuchen zu crawlen. – djas
Ein möglicher Arbeitsablauf für einen Prozess wie diesen besteht darin, die fragliche Seite zu laden (mit requests.get()), alle dynamischen Formularelemente zu ermitteln, die Sie von der Seite abrufen müssen, und dann requests.post() zu verwenden Informationen, die Sie brauchen. Die Verwendung von Browser-Entwicklungstools kann äußerst nützlich sein, um genau zu sehen, was in der POST-Anfrage gesendet wird. – brechin