Extrahieren Sie Daten aus einem Online-Atlas

435
KAE

Es gibt einen Online- Atlas, aus dem ich Werte extrahieren möchte. Der Atlas bietet ein Werkzeug ('Query') zum Extrahieren von Werten, wenn Sie auf einen Ort klicken oder einen Bereich auf der Karte einschließen, oder Sie können den Breiten- / Längengrad eines Punkts angeben, an dem der Wert gewünscht wird. Anstatt Werte manuell zu extrahieren, möchte ich die Datenextraktion mithilfe der Befehlszeile automatisieren. Entweder würde ich ein Skript schreiben, um Werte für eine eingegebene Länge / Breite herauszuziehen, oder alle Werte für alle Positionen herausziehen, solange ich auch die Breiten- / Längengrade der zurückgegebenen Punkte ermitteln kann. Welches Dienstprogramm könnte die Daten aus dem Atlas kratzen und Teil eines Befehlszeilenskripts sein? Schrottsieht vielversprechend aus, aber vielleicht gibt es dafür bessere Werkzeuge. Oder wenn Sie mir sagen könnten, in welcher Sprache das "Abfrage" -Tool verwendet wird, würde dies mir den Einstieg erleichtern.

4

1 Antwort auf die Frage

2
speakr

Diese Seite verwendet stark Javascript (jQuery).

Als ersten Start empfehle ich folgendes:

  1. Installieren Sie Firefox
  2. Installieren Sie das Tamper Data Addon
  3. Laden Sie die Site, und fangen Sie an zu manipulieren
  4. Spielen Sie mit dem Abfragetool herum und sehen Sie sich die automatisch generierten XMLHttpRequests an (siehe Manipulationsdatenprotokolle).

Vielleicht reicht dies bereits aus, um die relevanten Anfragen zu identifizieren und wie sie erstellt werden. Wenn dies nicht gut funktioniert, müssen Sie die JavaScript-Quellen lesen.

Da alle Anforderungen höchstwahrscheinlich nur HTTP-GET- und HTTP-POST- Anforderungen mit bestimmten Parametern sind, können Sie z. B. mit einem Tool wie dem Automatisieren beginnen curl. Außerdem scrapysieht es tatsächlich vielversprechend aus und scheint viele nette Features zu bieten (habe es jedoch nicht selbst getestet).


Anstelle von Firefox mit dem Temper Data-Addon können Sie auch einen beliebigen anderen Browser verwenden, um den HTTP-Verkehr zu erfassen, z . B. mit Wireshark .