Semalt Review: Web Scraping für Spaß und Gewinn

Sie können Site-Scrape durchführen, ohne dass eine API erforderlich ist. Während Websitebesitzer aggressiv sind, wenn es darum geht, das Scraping zu stoppen, kümmern sie sich weniger um APIs und legen stattdessen mehr Wert auf Websites. Die Tatsache, dass viele Websites den automatischen Zugriff nicht ausreichend schützen, schafft einen Spielraum für Schaber. Einige einfache Problemumgehungen helfen Ihnen dabei, die benötigten Daten zu sammeln.

Erste Schritte mit dem Schaben

Für das Scraping müssen Sie die Struktur der benötigten Daten und deren Zugänglichkeit verstehen. Dies beginnt mit dem Abrufen Ihrer Daten. Suchen Sie die URL, die die benötigten Informationen zurückgibt. Durchsuchen Sie die Website und überprüfen Sie, wie sich die URLs ändern, wenn Sie durch verschiedene Abschnitte navigieren.

Alternativ können Sie mehrere Begriffe auf der Website suchen und überprüfen, wie sich die URLs basierend auf Ihrem Suchbegriff ändern. Sie sollten einen GET-Parameter wie q = sehen, der sich ändert, wenn Sie nach einem neuen Begriff suchen. Behalten Sie die zum Laden Ihrer Daten erforderlichen GET-Parameter bei und entfernen Sie die anderen.

Wie man mit Paginierung umgeht

Durch die Paginierung können Sie nicht auf alle benötigten Daten gleichzeitig zugreifen. Wenn Sie auf Seite 2 klicken, wird der URL ein Parameter offset = hinzugefügt. Dies ist entweder die Anzahl der Elemente auf einer Seite oder die Seitenzahl. Erhöhen Sie diese Zahl auf jeder Seite Ihrer Daten.

Rufen Sie für Sites, die AJAX verwenden, die Registerkarte Netzwerk in Firebug oder Inspector auf. Überprüfen Sie die XHR-Anforderungen, identifizieren Sie sie und konzentrieren Sie sich auf diejenigen, die Ihre Daten abrufen.

Daten aus dem Seiten-Markup abrufen

Dies wird mithilfe von CSS-Hooks erreicht. Klicken Sie mit der rechten Maustaste auf einen bestimmten Abschnitt Ihrer Daten. Ziehen Sie den Firebug oder Inspector und zoomen Sie durch den DOM-Baum, um das äußerste <div> zu erhalten, das ein einzelnes Element umschließt. Wenn Sie den richtigen Knoten aus dem DOM-Baum haben, zeigen Sie die Seitenquelle an, um sicherzustellen, dass auf Ihre Elemente in Roh-HTML zugegriffen werden kann.

Um Site Scrape erfolgreich durchzuführen, benötigen Sie eine HTML-Parsing-Bibliothek, die HTML einliest und in ein Objekt umwandelt, das Sie iterieren können, bis Sie das erhalten, was Sie benötigen. Wenn für Ihre HTTP-Bibliothek das Setzen von Cookies oder Headern erforderlich ist, durchsuchen Sie die Website in Ihrem Webbrowser und lassen Sie die Header von Ihrem Browser senden. Legen Sie sie in ein Wörterbuch und leiten Sie Ihre Anfrage weiter.

Wenn Sie ein Login benötigen, um zu kratzen

Wenn Sie ein Konto erstellen und sich anmelden müssen, um die gewünschten Daten zu erhalten, benötigen Sie eine gute HTTP-Bibliothek, um Anmeldungen zu verarbeiten. Durch die Scraper-Anmeldung werden Sie Websites von Drittanbietern ausgesetzt.

Wenn das Ratenlimit Ihres Webdienstes von der IP-Adresse abhängt, legen Sie einen Code fest, der den Webdienst auf ein clientseitiges Javascript trifft. Leiten Sie dann die Ergebnisse von jedem Client an Ihren Server zurück. Die Ergebnisse scheinen von so vielen Orten zu stammen, und keiner wird seine Ratengrenze überschreiten.

Schlecht geformtes Markup

Einige Markups können schwierig zu validieren sein. Suchen Sie in solchen Fällen in Ihrem HTML-Parser nach Fehlertoleranzeinstellungen. Alternativ können Sie das gesamte HTML-Dokument als lange Zeichenfolge behandeln und Zeichenfolgen aufteilen.

Während Sie Website schaben können alle Arten von Daten im Netz Schaben einige Websites beschäftigen Software zu stoppen und andere verbieten Web - Schrott ing. Solche Websites können Sie verklagen und sogar wegen Erntens ihrer Daten inhaftieren. Seien Sie also bei all Ihrem Web-Scraping schlau und tun Sie es sicher.