Die alten Export-URLs
Bevor es eine API gab, wurden Ergebnisse heruntergeladen, indem man an eine
gewöhnliche Such-URL ?export= und einen Schlüssel anhängte. Diese URLs
funktionieren weiterhin genau so wie immer, Byte für Byte. Sie werden nicht
abgeschafft.
https://publicwww.com/websites/%22angular.min.js%22/?export=csv&key=YOUR_KEY
export= | Liefert |
|---|---|
urls | Eine URL pro Zeile. |
csv | domain;rank |
csvu | url;rank |
csvsnippets | domain;rank;snippet |
csvsnippetsu | url;rank;snippet |
cluster | Speichert die Ergebnisse als Cluster, statt sie herunterzuladen. |
&delimiterColumns= und &delimiterSnippets=
ändern die Trennzeichen, und
https://publicwww.com/profile/api_status.xml meldet den
Tagesverbrauch als XML. Übergeben Sie den Schlüssel im Header
Authorization: Bearer <your api key>; die ältere Form
?key= funktioniert noch, ist aber veraltet, weil ein Schlüssel in der
Adresse im Browserverlauf und in Serverprotokollen landet.
Warum sie getrennt sind
Diese URLs sind die Kompatibilitätsschicht, und dass sie das bleiben, erlaubt der API, eine ganz normale, moderne API zu sein. Ihre Ausgabe wird durch einen Test, der bei jeder Änderung läuft, Byte für Byte festgeschrieben, sodass ein vor Jahren geschriebenes Skript weiterhin genau das parst, was es immer geparst hat. Neues kommt bei ihnen nicht hinzu.
Ein Skript umstellen
Die nächstliegenden Entsprechungen:
| Alt | Neu |
|---|---|
?export=csv | format=csv |
?export=csvu | format=csv&columns=url,rank |
?export=urls | format=txt |
?export=csvsnippets | format=csv&snippets=1 |
?export=csvsnippetsu | format=csv&columns=url,rank,snippets&snippets=1 |
&key= | Authorization: Bearer |
&delimiterColumns= | delimiter= |
| die Suchanfrage im URL-Pfad | query= oder ein JSON-Body |
api_status.xml | /v1/account |
Die Spalten stimmen überein, daher ändert sich ein Parser in der Regel nicht. Was sich ändert, lohnt sich:
- Ein ungültiger Schlüssel ergibt
401mit JSON-Body, nicht200mit den WortenWrong API keyan der Stelle, wo die Zeilen stehen sollten. - Zu schnelle Anfragen ergeben sofort
429mitRetry-After, statt dass die Verbindung bis zu einer halben Minute offen gehalten und dann abgelehnt wird. - Ein aufgebrauchtes Kontingent ist ein Fehler. Bei den alten URLs fallen Sie unauffällig auf die Limits des kostenlosen Tarifs zurück und erhalten weniger Zeilen, ohne dass die Antwort darauf hinweist.
- Eine gekürzte Antwort ist gekennzeichnet -
X-Truncated. - Blättern, sodass ein Client nicht alles herunterladen muss, um die ersten zwanzig anzusehen.