Ich versuche, mehrere Parameter zu dieser [URL] [1] zu posten und drücke 'submit', um eine generierte csv-Datei herunterzuladen.
Ich denke, dass mindestens 5 Schritte benötigt werden.
Da noch niemand eine Lösung gepostet hat, gehen Sie hier. Sie werden mit Anfragen nicht weit kommen, deshalb ist Selen Ihre beste Wahl. Wenn Sie das folgende Skript ohne Änderungen verwenden möchten, überprüfen Sie Folgendes:
dl_dir = '/tmp'
in ein Verzeichnis, das Sie wollen chromedriver
installiert, oder ändern Sie den Treiber zu Firefox im Code (und passen Sie die Download-Verzeichnis-Konfiguration entsprechend was Firefox will) Hier ist die Umgebung getestet mit:
%Vor%Ich habe fast jede Zeile kommentiert, also lass den Code reden:
%Vor%Wenn alles in Ordnung ist, sollte das Skript folgendes ausgeben:
%Vor%Leider glaube ich nicht, dass Sie dies über Anfragen tun können. Soweit ich das beurteilen kann, gibt es keinen POST, wenn Sie auf "Senden" klicken. Es scheint, als würden alle Daten von JavaScript generiert, mit denen Anfragen nicht umgehen können.
Sie könnten versuchen, etwas wie Selenium zu verwenden, um einen Browser zu automatisieren (der JS verarbeiten kann) und dann Daten von dort zu scrappen .
Versuchen Sie es. Sie müssen den Rest nach Ihren Bedürfnissen verarbeiten. Hier ist der wesentliche Teil. Es erzeugt folgende Ergebnisse:
%Vor%Teilergebnisse (ID und Name):
%Vor%Übrigens, wenn Sie die Zielseite erreichen, werden Sie dort zwei Registerkarten sehen. Diese Ergebnisse werden von der Registerkarte (OBSERVATIONS) abgeleitet. Der Link, den ich oben verwendet habe, kann auch in den Chrome-Entwicklertools gefunden werden.
Tags und Links python web-scraping selenium