In den vorherigen Kapiteln haben wir besprochen, wie man Website-HTML-Informationen und Shopify-Produktinformationen über die JSON-API extrahiert. Auf den meisten Websites und Plattformen gibt es jedoch mehr als eine Seite, auf der Artikel, Produkte usw. angezeigt werden. Im Grunde nennen wir es Paginierung. Zum Beispiel Seite 1 oder vorherige Seite oder nächste Seite und die vorherigen Codierungen und Datensätze können nur die einzelne URL-Seite extrahieren.
In diesem Artikel werde ich Ihnen zeigen, wie Sie die Web-Paginierung und Shopify-Produkte mithilfe von Easy2Digital API extrahieren. Es dient dazu, alle Ziel-Datensätze in großen Mengen zu erfassen. Am Ende dieses Artikels können Sie die Pandas-Bibliothek und einige neue Methoden beherrschen. Außerdem können Sie das Skript basierend auf Ihren Geschäftsanforderungen anpassen.
Inhaltsverzeichnis: Erstellen Sie einen Shopify-Bot zum Extrahieren von Ladenprodukt-Daten in großem Maßstab mithilfe von Easy2Digital-APIs
- Module importieren
- Identifizieren Sie die Website-Paginierungs-URL-Struktur
- Schreiben Sie Codezeilen, um den Ziel-Datensatz abzurufen
- Fügen Sie den Datensatz hinzu
- Speichern Sie den Datensatz im Excel-Format mithilfe von DataFrame und to_csv-Methoden
- Easy2Digital API – Shopify Product Scraper
- Kostenloses Easy2Digital-API-Token und vollständiges Python-Skript des Shopify-Scrapers
Web-Scraping-Module importieren
In diesem Skript würden wir bs4-, Anforderungs- und Pandas-Bibliothek verwenden. Da wir Shopify als weiteres Beispiel nehmen würden, müssen wir JSON importieren
Pandas ist ein schnelles, leistungsstarkes, flexibles und benutzerfreundliches Open-Source-Tool zur Datenanalyse und -manipulation. Es ist auf der Programmiersprache Python aufgebaut. Es ist ziemlich nützlich, den Datensatz umzustrukturieren und im CSV-Format zu speichern.
Identifizieren Sie die Paginierungs-URL-Struktur der Website
Ich nehme Easy2Digital’s Blog-Ordner als erstes Beispiel. Wie Sie aus dem Blog-Pfad ersehen können, ist die Zahl, die nach page/ folgt, der Ort der rückwärtigen Seitenumbruchseite. Wir können also eine Variable erstellen, die nach der Seite und dem Looping verwendet werden kann, um entsprechend zu kratzen
Hier sind die Codierungen, bei denen wir die Paginierung als „x“ festlegen, und wir verwenden die „for“-Schleife, die Bereichsfunktion und die str-Funktion.
Range-Funktion
erstellt tatsächlich eine Sequenz von Zahlen von 0 bis N und druckt jedes Element in der Sequenz aus. In diesem Fall können wir beispielsweise eine Zahl wie 20 setzen, und diese Zahl ist bereits größer als meine Blog-Paginierungsseiten. Ich empfehle
Die Funktion str() von Python gibt die Zeichenfolgenversion des Objekts zurück. Es stellt sicher, dass die Rückgabe eine Zeichenfolge ist.
Last but not least, wir müssen eine Variable mit einem leeren Wert erstellen, der vorerst verwendet wird, um den gesamten Scraping-Datensatz zu generieren.
Wenn wir über die Plattform-API wie Shopify kratzen müssen, sind dies die Codierungen, indem wir eine andere Website als Beispiel nehmen – Wasserstein Home
In der Shopify-Frontend-Produkt-API hat die JSON-Struktur folgendes Aussehen, wobei jede Seite höchstens 250 Stück Produktinformationen enthält. Der page-Parameter repräsentiert den Paginierungswert
Es ist also ziemlich ähnlich wie beim HTML-Paging der Website, aber es muss nur über die Plattform-API gekratzt werden
- Unterstützen Sie unseren Kanal durch Spenden über PayPal (paypal.me/Easy2digital)
- Abonnieren Sie meinen Kanal und schalten Sie die Benachrichtigungsglocke ein Easy2Digital Youtube Kanal.
- Folgen Sie und liken Sie unsere Seite Easy2Digital Facebook Seite
- Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #easy2digital
- Melden Sie sich für unseren wöchentlichen Newsletter an, um die neuesten Artikel, Videos und Rabattcodes von Easy2Digital zu erhalten
- Abonnieren Sie unsere monatliche Mitgliedschaft über Patreon, um exklusive Vorteile zu genießen (www.patreon.com/louisludigital)