TikTok-Videodaten scrapen
Der TikTok Videos Scraper nimmt eine Video-URL und liefert eine Zeile mit zwölf Spalten zurück: query, video_id, author, description, create_time, likes, comments, shares, plays, saves, reposts und url. Hinter dieser Seite stehen sechs Läufe, und sie zeigen zwei Dinge deutlich. Erstens ist das Schema gewachsen: Läufe bis zum 3. Juli lieferten zehn Spalten, Läufe ab dem 14. Juli zwölf, ergänzt um saves und reposts. Nichts wurde entfernt oder umbenannt, ein gegen die ältere Form geschriebener Importer lädt also weiterhin - ihm fehlen schlicht zwei Spalten, was ein gutes Argument dafür ist, die benötigten Felder zu fixieren statt nach Position zu lesen.
Das Zweite ist eine Lücke in unseren eigenen Tests, und wir benennen sie lieber, als sie zu verbergen. Kein einziger der sechs Läufe übermittelte eine echte TikTok-Video-URL. Die Eingaben waren die TikTok-Startseite, eine Profilseite, ein unvollständiger Pfad und drei Video-IDs, die entweder offensichtlich Platzhalter oder tatsächlich nicht vorhanden waren. Jede Datenspalte ist daher leer, und das ist eine Tatsache darüber, wonach wir gefragt haben, und kein Befund über den Dienst. Auf dieser Seite stehen nirgends Interaktionszahlen, Autorennamen oder Beispielzeilen, denn welche zu produzieren hieße, sie zu erfinden.
Es lohnt sich, das von unseren anderen TikTok-Diensten zu trennen. Der Hashtags- und der Search-Scraper sind tatsächlich behindert: Beide liefern eine Status-Spalte, die erklärt, dass TikTok diese Listen über eine signaturpflichtige API statt im HTML der Seite bereitstellt. Nichts dergleichen tauchte hier auf. Stattdessen antwortete der Dienst je nachdem unterschiedlich, worauf er gerichtet war - no data für eine Startseite oder ein Profil und item doesn't exist (removed / private) für eine korrekt geformte Video-ID ohne Video dahinter. Zwei Fehlerarten zu unterscheiden ist das, was ein funktionierender Parser tut, die vernünftige Lesart ist also ein funktionierender Dienst mit schlechten Eingaben und keine Mauer.
Eine weitere Beobachtung für alle, die darauf aufbauen: Die Spalte url war in jedem Lauf Byte für Byte identisch mit query. Sie gibt Ihre Eingabe zurück, statt eine kanonische Adresse aufzulösen, sie wird Kurzlinks also nicht normalisieren und Weiterleitungen nicht folgen. Und description, die eigentlich die Bildunterschrift tragen soll, trug in allen sechs Läufen eine Statuszeichenkette - lesen Sie sie, bevor Sie eine leere Zeile als stillen Fehler behandeln, denn sie sagt Ihnen, ob das Video weg ist oder die URL falsch war. Nur öffentlich zugängliche Seiten, keine Tracker Dritter auf der Datenebene, und Exporte werden nach 30 Tagen automatisch gelöscht. Ihre ersten 500 Zeilen sind gratis und brauchen keine Kreditkarte - der günstigste Weg, die Frage zu beantworten, die diese Seite ehrlicherweise nicht beantworten kann.