Wenn Sie häufig Daten von Websites abrufen, sollten Sie wahrscheinlich in Betracht ziehen, den Prozess zu automatisieren. Dieser Prozess wird manchmal als „Web Scraping“ bezeichnet und ist ein gängiger Prozess für Websites, die keine formelle API oder keinen Feed bereitstellen. Natürlich werden Sie nichts erreichen, wenn die Website, die Sie abrufen möchten, nicht verfügbar ist.

Wenn Sie Ihre eigene Website betreiben, mussten Sie sich wahrscheinlich schon einmal mit Ausfallzeiten auseinandersetzen. Es kann frustrierend sein und dazu führen, dass Sie Besucher verlieren und alle Aktivitäten unterbrechen, für die Ihre Website möglicherweise verantwortlich ist. In solchen Fällen lohnt es sich, die Verfügbarkeit Ihrer Website einfach überprüfen zu können.

Python ist eine großartige Sprache für die Skripterstellung, und seine prägnante, aber dennoch lesbare Syntax macht die Implementierung eines Site-Checkers zu einer einfachen Aufgabe.

Erstellung Ihres personalisierten Website-Checkers

Der Website-Checker ist maßgeschneidert, um mehrere Websites gleichzeitig zu berücksichtigen. Auf diese Weise können Sie Websites, die Sie nicht mehr interessieren, einfach austauschen oder Websites überprüfen, die Sie in Zukunft starten. Der Checker ist eine ideale „Skelett-App“, auf der Sie weiter aufbauen könnten, aber er zeigt einen grundlegenden Ansatz zum Abrufen von Webdaten.

instagram viewer

Bibliotheken in Python importieren

Um das Projekt zu starten, müssen Sie die Anfragen Bibliothek in Python mit der importieren Funktion.

importieren Anfragen

Die Requests-Bibliothek ist nützlich für die Kommunikation mit Websites. Sie können damit HTTP-Anforderungen senden und Antwortdaten empfangen.

Speichern Sie die Website-URLs in einer Liste

Nachdem Sie die Bibliothek importiert haben, sollten Sie die Website-URLs in einer Liste definieren und speichern. Dieser Schritt ermöglicht es Ihnen, mehrere URLs beizubehalten, die Sie mit dem Website-Checker überprüfen können.

importieren Anfragen

website_url = [
" https://www.google.co.in",
" https://www.yahoo.com",
" https://www.amazon.co.in",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]

Die Variable Webadresse speichert die Liste der URLs. Definieren Sie in der Liste jede URL, die Sie überprüfen möchten, als einzelne Zeichenfolge. Sie können die Beispiel-URLs im Code zum Testen verwenden oder sie ersetzen, um sofort mit der Überprüfung Ihrer eigenen Websites zu beginnen.

Speichern Sie als Nächstes die Nachrichten für gemeinsam HTTP-Antwortcodes. Sie können diese in einem Wörterbuch aufbewahren und jede Nachricht nach ihrem entsprechenden Statuscode indizieren. Ihr Programm kann diese Meldungen dann zur besseren Lesbarkeit anstelle von Statuscodes verwenden.

Status = {
200: "Website verfügbar",
301: "Permanente Weiterleitung",
302: "Temporäre Umleitung",
404: "Nicht gefunden",
500: "Interner Serverfehler",
503: "Dienst nicht verfügbar"
}

Erstellen einer Schleife zum Überprüfen des Website-Status

Um jede URL der Reihe nach zu überprüfen, sollten Sie dies tun Schleife durch die Liste von Webseiten. Überprüfen Sie innerhalb der Schleife den Status jeder Site, indem Sie eine Anforderung über die Anforderungsbibliothek senden.

zum URL in Webadresse:
Versuchen:
web_response = Anfragen.get (URL)
print (url, statuses[web_response.status_code])

außer:
print (url, statuses[web_response.status_code])

Wo:

  • für url...iteriert über die Liste der URLs.
  • URL ist die Variable, der die for-Schleife jede URL zuweist.
  • versuchen/außerbehandelt alle Ausnahmen die eventuell aufkommen.
  • web_response ist eine Variable, die eine Eigenschaft mit dem Statuscode der Antwort bereitstellt

Das gesamte Code-Snippet

Wenn Sie es vorziehen, den gesamten Code auf einmal zu überprüfen, finden Sie hier eine vollständige Codeliste als Referenz.

importieren Anfragen

website_url = [
" https://www.google.co.in",
" https://www.yahoo.com",
" https://www.amazon.co.in",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]

Status = {
200: "Website verfügbar",
301: "Permanente Weiterleitung",
302: "Temporäre Umleitung",
404: "Nicht gefunden",
500: "Interner Serverfehler",
503: "Dienst nicht verfügbar"
}

zum URL in Webadresse:
Versuchen:
web_response = Anfragen.get (URL)
print (url, statuses[web_response.status_code])

außer:
print (url, statuses[web_response.status_code])

Und hier ist eine Beispielausführung des Codes:

Pythons Programmierfähigkeiten beim Web Scraping

Die Bibliotheken von Drittanbietern von Python sind ideal für Aufgaben wie Web Scraping und das Abrufen von Daten über HTTP.

Sie können automatisierte Anfragen an Websites senden, um verschiedene Arten von Aufgaben auszuführen. Dazu können das Lesen von Schlagzeilen, das Herunterladen von Bildern und das automatische Versenden von E-Mails gehören.