Ich mache statistische Auswertungen von Flügen die auf xcontest eingetragen sind.
Brute-Force-Methode: xcontest "worldwide flight search" im Browser aufrufen, Tabelle mit Ctrl-C/Ctrl-V in ein Textfile kopieren.
Nächste Seite aufrufen - wieder kopiern usw.
Und das script liest dann das Textfile ein.
Besser: Die Seite direkt im script aufrufen.
Perl / LWP::Simple geht leider mit xcontest nicht (wie mit manchen anderen Seiten auch, dazu gibt es einen thread in stackoverflow).
Nächster Versuch: Pyhton mit requests.
Die url sieht z.B. so aus:
https://www.xcontest.org/world/en/flights-search/?list[sort]=time_start&filter[point]=16.040952%2047.829427
Dazu muss ich eingeloggt sein, ich probiere es so:
(siehe https://realpython.com/python-requests/#authentication)
>>> import requests
>>> from getpass import getpass
>>> requests.get('https://www.xcontest.org/world/en/flights-search/?list[sort]=time_start&filter[point]=16.040952%2047.829427', auth=('martinpi', getpass()))
Password:
<Response [401]>
Mit HTTPBasicAuth, HTTPDigestAuth und HTTPProxyAuth funktioniert es auch nicht.
Weiß jemand, welche Autorisierung xcontest verwendet und wie man sie implementiert?
Evtl. mit einer anderen Programmiersprache/Library/Tool?
Danke!
(PS: Bitte keine Diskussion über die Sinnhaftigkeit von Statistiken u.ä., es ist wirklich nur eine Frage für ProgrammiererInnen)
Brute-Force-Methode: xcontest "worldwide flight search" im Browser aufrufen, Tabelle mit Ctrl-C/Ctrl-V in ein Textfile kopieren.
Nächste Seite aufrufen - wieder kopiern usw.
Und das script liest dann das Textfile ein.
Besser: Die Seite direkt im script aufrufen.
Perl / LWP::Simple geht leider mit xcontest nicht (wie mit manchen anderen Seiten auch, dazu gibt es einen thread in stackoverflow).
Nächster Versuch: Pyhton mit requests.
Die url sieht z.B. so aus:
https://www.xcontest.org/world/en/flights-search/?list[sort]=time_start&filter[point]=16.040952%2047.829427
Dazu muss ich eingeloggt sein, ich probiere es so:
(siehe https://realpython.com/python-requests/#authentication)
>>> import requests
>>> from getpass import getpass
>>> requests.get('https://www.xcontest.org/world/en/flights-search/?list[sort]=time_start&filter[point]=16.040952%2047.829427', auth=('martinpi', getpass()))
Password:
<Response [401]>
Mit HTTPBasicAuth, HTTPDigestAuth und HTTPProxyAuth funktioniert es auch nicht.
Weiß jemand, welche Autorisierung xcontest verwendet und wie man sie implementiert?
Evtl. mit einer anderen Programmiersprache/Library/Tool?
Danke!
(PS: Bitte keine Diskussion über die Sinnhaftigkeit von Statistiken u.ä., es ist wirklich nur eine Frage für ProgrammiererInnen)
Kommentar