Lassen Sie mich dies fragen, wenn Sie ein Website-Besitzer wären.
Möchten Sie, dass die Leute Ihre Website abkratzen?
Möchten Sie, dass die Leute auf Ihre Daten zugreifen, vielleicht Ihr Airbnb und Sie haben wirklich hart daran gearbeitet, diese
Produkte aufzulisten, verschiedene Informationen hier, ist es fair, dass jeder kommen und einfach diese Informationen abrufen und vielleicht
eine Kopie Ihrer Website erstellen kann?
Aber nicht wirklich richtig?
Ich meine, es kommt meistens darauf an, dass Sie nicht wirklich möchten, dass Leute Ihre Website abkratzen.
Obwohl HTML und die Daten einer Website für uns alle verfügbar sind, funktioniert unser Internet so, dass die Leute
verschiedene Webseiten sehen können. Die meisten Websites möchten nicht wirklich, dass Sie ihre Daten auskratzen.
Nun, es gibt tatsächlich eine Möglichkeit, mit der Websites Ihnen sagen, was Sie kratzen können und was nicht.
Es heißt Robots Dot Text.
Wir sagen einfach am Ende eines URL-Schrägstrichs.
Roboter Punkt t t klicken, eingeben.
Schau dir das an, Airbnb hat Roboter.
Textroboter, die nicht besteuert werden, sagen einfach, hey, wenn Sie ein Roboter sind, wenn Sie ein Netzkratzer oder eine Spinne sind.
Das ist der Grund, warum Sie das dürfen und nicht dürfen, bedeutet das, dass sie uns daran hindern, wenn wir die Regeln
brechen?
Nein, sie können uns nicht wirklich verhindern.
Dies ist jedoch eine Grauzone, in der Sie hier ethisch handeln und nur die Daten abkratzen möchten, die Ihnen eine Website zulässt.
Wenn wir uns also den Text von Roboshark ansehen, sehen Sie hier, dass Airbnb eine Steuerdatei erstellt hat, die uns sagt, was
Sie kratzen können und was nicht.
Zum Beispiel schauen wir uns hier den User-Agent an, der sagt, dass der Google-Bot Airbnb sagt, hey, Google-Bot,
du darfst diese Informationen scracken, aber wir erlauben dir nicht, den Alumni-Kalender des Kontos zu scracken, und das siehst du Es gibt
viele Dinge, die nicht erlaubt sind.
Was ist mit dem Bing-Suchbot?
Nun, dann darfst du das, aber er kann nicht.
Löschen Sie alle diese Daten.
Wir haben Yandex-Board.
Was haben wir noch, wir haben Biddu Spider.
Und dann haben wir auch noch den User Agent Star, das heißt jeder andere, jeder andere, Sie
dürfen das abkratzen, aber keine dieser Informationen.
In Ordnung, gehen wir zu einem anderen, gehen wir zu dir, Demi Dotcom.
Hier sehen wir, dass jeder, von dem wir nicht möchten, dass Sie diese Informationen durchsuchen oder durchsuchen, aber
wir ermöglichen Ihnen den Zugriff darauf.
API 2. 0, natürlich, Landekomponenten, in Ordnung, das ist also schade.
Es sieht so aus, als ob Udemy uns wirklich nichts anderes als diese API 2 erlaubt. 0 Sache, auf die zurückkommen wird.
Was ist mit Hacker News? Wir werden ein Projekt um Hacker News herum aufbauen, also sehen wir, ob Hacker
News es uns erlaubt, es zu kratzen.
Alles klar, diese Liste ist also etwas kleiner.
Wir sehen das für alle Benutzer.
Wir dürfen diese Endpunkte nicht verwenden.
Es heißt also, solange Sie diese nicht verwenden, können Sie loslegen.
Das heißt, wenn wir nur die Homepage kratzen wollten.
Das ist genau hier, das ist in Ordnung, wenn wir versuchen, sagen wir, zu den Kommentaren zu gehen.
Das ist auch in Ordnung, denn dieser war nicht in Robots Text, wenn Sie sich erinnern, wenn wir zu
Robots Dot Text gehen.
Das ist in Ordnung.
Das einzige, was sie verlangen, ist, dass wir eine Crawling-Verzögerung von 30 haben. Das heißt, wenn wir ihre
Website crawlen, sollten wir eine Pause einlegen, damit wir nicht ständig Programme verwenden, um die Website aufzurufen, weil Nun, dies
wird ihre Server überlasten und möglicherweise ihre Website verlangsamen.
Was lernen wir also gerade, wir haben gelernt, dass es ethische und unethische Wege gibt, Websites zu kratzen.
Ja, Sie können jede beliebige Website kratzen, und tatsächlich gibt es Chrome-Plug-Ins.
Wenn Sie den Web-Scraper von Google Chrome einbinden, gibt es eine Menge Web-Scraper, die Sie verwenden
können, um Websites zu scratchen, ohne auch nur eine einzige Codezeile zu schreiben.
Es ist eine gute Sache, ethisches Programmieren zu praktizieren, und das bedeutet, dass Sie andere Websites und Bedingungen überprüfen, bevor Sie sie kratzen, und
überprüfen Sie ihre Robots Dot Text, um zu sehen, was Sie kratzen können und was nicht.
Denn normalerweise sollten die Daten, die Sie von einer Website kratzen, nicht für kommerzielle Zwecke verwendet werden,
da Sie die harte Arbeit anderer verwenden, um vielleicht Geld zu verdienen.
Aus diesem Grund haben wir Hacker News aufgerufen und um eine Verzögerung von 30 Sekunden gebeten. Wenn Sie Daten
von einer Website anfordern, um Ihr Programm aggressiv zu verwenden, ist dies im Wesentlichen Spamming,
da dies Hacker News beschädigen kann.
Bevor wir uns mit dem Web-Scraping befassen, möchte ich noch etwas anmerken, und zwar diese Idee einer
API.
Wenn Sie sich erinnern, als wir auf Udemy, diesen robusten Text, zugegriffen haben, haben sie uns gesagt, dass es einige zulässige Bereiche gibt, die
wir abkratzen können, oder Endpunkte, die wir verwenden können.
Sie sehen, dass einige Websites Ihnen tatsächlich den Zugriff auf Daten ermöglichen.
Udemy stellt uns beispielsweise eine Lehrer-API zur Verfügung, d. h., wenn Sie ein Lehrer bei Udemy sind,
können Sie dessen API tatsächlich verwenden.
Sie können es direkt hier sehen, damit Sie verschiedene Daten erhalten.
Vielleicht können Sie eine Kursbewertungsliste oder eine Kursfragenliste erhalten.
Aber wenn ich hierher gehe und dies in mein RL eintrage, erhalte ich ein ungültiges fehlendes Token, weil ich im Moment kein Ausbilder
bin oder zumindest nicht bestätigt habe, dass ich ein Ausbilder bin.
Auf Udemy heißt es: Hey, diese Daten sind nur für gültige Instruktoren, also muss ich ihnen ein Token übergeben, um zu
beweisen, dass ich ein Instruktor für dich bin, Denny.
Und viele Websites bieten Ihnen einen sogenannten API- oder Anwendungsprogrammierschnittstellenzugriff.
In einem Formular wie diesem namens Jason to gibt Ihnen die Daten, die Sie benötigen, und einige Websites erlauben Ihnen dies
nur, wenn Sie ein gültiger Benutzer sind.
Eine der beliebtesten Apps ist beispielsweise diese GitHub-API, mit der Sie auf verschiedene Informationen von GitHub zugreifen
können.
Aber damit wir es verwenden können, müssen wir ein Benutzerkonto erstellen und validieren, damit wir das sind, was wir vorgeben
zu sein.
Aber dann gibt es auch Websites wie die Star Wars API, die uns einen kostenlosen Zugang ermöglichen.
Das heißt, jeder kann es verwenden.
Wir müssen nicht bestätigen, dass wir Benutzer sind.
Wir müssen bei einer Anfrage kein Token angeben.
Stattdessen können wir nur Daten anfordern.
Also, zum Beispiel, wenn ich die Sowerby-API mache und Leute eintippe und die Eingabetaste drücke.
Sieh dir das an, ich bekomme all diese Daten kostenlos, damit ich so gut eine App rund um die Starwars erstellen
kann, wofür Skype steht.
Es steht für die Star Wars-API.
Und wir können all diese Informationen abrufen, die wir wollen.
Wir haben auch Dinge wie den Jason Placeholder, den ich sehr gerne verwende, wenn ich einfache Projekte baue,
bei denen wir verschiedene Informationen wie Fotos erhalten. Sie können hier sehen, dass dies eine API ist, die uns
Informationen liefert.
Mit verschiedenen Fotos, die wir verwenden können.
Vielleicht haben wir verschiedene Beiträge, die wir verwenden können.
Und wieder nennen wir dies das JSON-Format, das kein HTML ist, sondern nur eine bereinigte Version der Daten,
damit die Leute sie verwenden können. Der einfachste Weg, Daten von einer Website abzurufen, ist normalerweise die Verwendung einer API.
Manchmal erlauben uns Websites, einfach darauf zuzugreifen, oder sie verfügen möglicherweise über eine API, die jedoch nur auf bestimmte Benutzer
beschränkt ist.
Vielleicht müssen Sie sich bei ihrem Dienst registrieren.
Vielleicht müssen Sie für ihre API bezahlen.
Nun, in diesem Fall haben wir das.
Aber dann gibt es auch noch ein Web-Scraping, was bedeutet, dass Ihnen eine Website möglicherweise keinen Zugriff auf eine API gewährt.
Vielleicht möchten Sie nur diese Informationen haben.
Hacker News bietet zum Beispiel meines Wissens keine API an.
Stattdessen möchten wir vielleicht einfach den HTML-Code und die gesamte Website kratzen und sehen, was wir verwenden können.
Wie können wir eine Website mit Python schaben?
Finden wir es im nächsten Video heraus.