Seite 1 von 1
Webseiten auswerten: API finden?
Verfasst: Sonntag 17. April 2016, 17:05
von bb1898
Wenn es um Web-Scraping geht, finde ich immer mal wieder den Hinweis, eine Webseite könnte auch eine API anbieten, mit der es besser ginge (Google z.B., wenn ich nicht irre).
Wie kriegt man im Einzelfall raus, ob das für eine bestimmte Seite zutrifft? Gibt es da irgendeine Sorte von standardisierten Angaben, nach denen man suchen könnte?
Oder anders herum, kennt sich jemand auf
http://www.dfb.de so weit aus?
Danke für Hinweise aller Art!
Re: Webseiten auswerten: API finden?
Verfasst: Sonntag 17. April 2016, 17:42
von DasIch
Da gibt es keinen Standard, du kannst aber davon ausgehen dass die allermeisten Seiten keine API haben. Wenn es um SPAs geht kann es auch sein dass es eine API gibt, die aber nicht für die Öffentlichkeit bestimmt ist, undokumentiert und möglicherweise nicht sonderlich stabil ist.
Wenn es eine API gibt, solltest du die allerdings mit Google oder den Developer Tools deines Browsers finden können.
Re: Webseiten auswerten: API finden?
Verfasst: Sonntag 17. April 2016, 18:34
von bb1898
DasIch hat geschrieben:Wenn es um SPAs geht kann es auch sein dass es eine API gibt, die aber nicht für die Öffentlichkeit bestimmt ist, undokumentiert und möglicherweise nicht sonderlich stabil ist.
SPA ist ja nun eine ziemlich vieldeutige Abkürzung (
http://acronyms.thefreedictionary.com/spa), meinst Du hier "Single Point of Access", oder was sonst? "Service Provider Application", "Service Provider Access" könnte auch passen.
Ich werde mal gucken. Es geht nur um die Erweiterung eines vorhandenen und funktionierenden Skripts, ich könnte also ohne weiteres auch bei request + beautifulsoup bleiben. Nur würde ich die Webseite dann nicht mehr nur einmal im Jahr, sondern jede Woche auswerten wollen - evtl. bewege ich mich da schon in einen unerwünschten Bereich?
Re: Webseiten auswerten: API finden?
Verfasst: Sonntag 17. April 2016, 18:58
von Sirius3
@bb1898: DasIch meint mit SPA wahrscheinlich Single-Page-Application, was soviel heißt, wie, dass der ganze Inhalt einer Web-Seite dynamisch nachgeladen werden muß und das kann z.B. über eine API passieren, die XML oder JSON als Format benutzt, das dann von Dir einfacher zu parsen wäre. Ob Du nun direkt HTML parst oder irgendeine inoffizielle API benutzt ist eigentlich von der "unerwünschten Bereich"-Seite her egal. Solange Du nur wenige Requests pro Sekunde hast wird das aber wahrscheinlich nicht auffallen, solange Du Dich wie ein normaler Besucher verhältst.
Re: Webseiten auswerten: API finden?
Verfasst: Montag 18. April 2016, 21:11
von bb1898
Sirius3 hat geschrieben:@bb1898: DasIch meint mit SPA wahrscheinlich Single-Page-Application, was soviel heißt, wie, dass der ganze Inhalt einer Web-Seite dynamisch nachgeladen werden muß und das kann z.B. über eine API passieren, die XML oder JSON als Format benutzt, das dann von Dir einfacher zu parsen wäre.
Sieht man das dem Quelltext der Seite eigentlich an? Wenn ja, wie?
Ob Du nun direkt HTML parst oder irgendeine inoffizielle API benutzt ist eigentlich von der "unerwünschten Bereich"-Seite her egal. Solange Du nur wenige Requests pro Sekunde hast wird das aber wahrscheinlich nicht auffallen, solange Du Dich wie ein normaler Besucher verhältst.
Dann denke ich, das sollte kein Problem sein (einmal in der Woche schlimmstenfalls drei Requests hintereinander mit Auswertungspausen). Danke für die Informationen!
Re: Webseiten auswerten: API finden?
Verfasst: Dienstag 19. April 2016, 04:34
von noisefloor
Hallo,
Sieht man das dem Quelltext der Seite eigentlich an? Wenn ja, wie?
Ja. Wenn du im Quelltext der Seite nicht das siehst, was du im Browser siehst / lesen kannst. Wenn du dir im Browser den Quelltext anschaust (z.B. mit STRG+U im Firefox), dann siehst du "nur" die Seite, wie der Browser sie geladen hat und nicht, was später per JS / DOM-Manipulation nachgeladen / geändert wurde.
Gruß, noisefloor
Re: Webseiten auswerten: API finden?
Verfasst: Dienstag 19. April 2016, 07:53
von DasIch
Um mal ein konkretes Beispiel für ein Single Page App zu haben, schau dir mal
https://www.instagram.com/ an. Der <body> enthält dort nur <script> Tags, ein <noscript> Tag und ein leeres <span> Tag.
Re: Webseiten auswerten: API finden?
Verfasst: Dienstag 19. April 2016, 16:41
von bb1898
noisefloor hat geschrieben:
Ja. Wenn du im Quelltext der Seite nicht das siehst, was du im Browser siehst / lesen kannst. Wenn du dir im Browser den Quelltext anschaust (z.B. mit STRG+U im Firefox), dann siehst du "nur" die Seite, wie der Browser sie geladen hat und nicht, was später per JS / DOM-Manipulation nachgeladen / geändert wurde.
Damit (und mit dem Beispiel von DasIch) ist das geklärt: eine SPA habe ich nicht vor mir. Quelltext und Browser-Inhalt passen zusammen. Inzwischen habe ich die Auswertung auch so weit auf die Reihe gebracht, jetzt muss der Krempel "nur noch" in meine Datenbank. Danke noch mal!