DeviantArt ist die größte soziale Plattform für digitale Künstler und Kunstfans. Mit über 60 Millionen Mitgliedern, die täglich Zehntausende Kunstwerke teilen, ist es ein Top-Spot zum Entdecken und Herunterladen vielfältiger Kreationen, von digitalen Gemälden bis hin zu Hintergrundbildern, Pixelkunst, Anime und Filmschnappschüssen.
Das manuelle Sammeln von Tausenden von Datenpunkten von Websites kann jedoch sehr zeitaufwändig sein. Anstatt Informationen manuell zu kopieren, automatisieren wir den Prozess mithilfe von Programmiersprachen wie Python.

Scraping DeviantArt gibt uns die Möglichkeit, verschiedene Kunststile zu betrachten, Trends zu erkennen und unsere Sammlung von Lieblingsbildern aufzubauen. Es geht nicht nur darum, Kunst zu genießen; wir können auch mehr darüber lernen.
In dieser Anleitung verwenden wir Python, eine benutzerfreundliche Programmiersprache. Und um uns beim Scraping zu helfen, haben wir die Crawlbase Crawling API – ein praktisches Tool, das das Abrufen von Daten aus dem Web erheblich vereinfacht. Zusammen mit Python Crawlbase Mit der API wird das Erkunden und Sammeln digitaler Kunst zum Kinderspiel.
Inhaltsverzeichnis
- DeviantArt-Suchseitenstruktur
- Warum Bilder von DeviantArt scrapen?
- Installieren von Python und Bibliotheken
- Erhalten Crawlbase API-Schlüssel
- Auswählen der Entwicklungs-IDE
- Technische Vorteile von Crawlbase Crawling API
- Anfrage senden mit Crawling API
- API-Antwortzeit und -Format
- Crawling API Kenngrößen
- Kostenlose Testversion, Gebührenstrategie und Ratenbegrenzung
- Crawlbase Python-Bibliothek
- Importieren erforderlicher Bibliotheken
- Erstellen der URL für die DeviantArt-Suche
- API-Anfragen stellen mit Crawlbase Crawling API zum Abrufen von HTML
- Ausführen Ihres Skripts
- Paginierung in DeviantArt verstehen
- Ändern von API-Anfragen für mehrere Seiten
- Sicherstellung einer effizienten Seitennummerierung
- Untersuchen der DeviantArt-Suchseite auf CSS-Selektoren
- Verwenden von CSS-Selektoren zum Extrahieren von Bild-URLs
- Extrahierte Daten in CSV- und SQLite-Datenbank speichern
- Verwenden von Python zum Herunterladen von Bildern
- Heruntergeladene Bilder organisieren
DeviantArt-Website verstehen
DeviantArt ist eine lebendige und weitläufige Online-Community, die sowohl erfahrenen als auch aufstrebenden Künstlern als Zufluchtsort dient. DeviantArt wurde im Jahr 2000 gegründet und hat sich zu einer der größten Online-Kunst-Communitys mit Millionen von Benutzern und einer umfangreichen Sammlung unterschiedlicher Kunstwerke entwickelt.
Im Kern ist DeviantArt eine digitale Galerie, in der Künstler eine breite Palette von Kreationen ausstellen können, darunter digitale Gemälde, Illustrationen, Fotografien, Literatur und mehr. Die Plattform fördert die Interaktion durch Kommentare, Kritiken und die Erstellung gemeinsamer Projekte und schafft so ein dynamisches und unterstützendes Umfeld für kreative Köpfe.
DeviantArt-Suchseitenstruktur
Die Suchseite ist ein Tor zu einer Vielzahl von Kunstwerken und bietet Filter und Parameter, um die Suche nach bestimmten Themen, Stilen oder Künstlern zu verfeinern.

Zu den Hauptkomponenten der DeviantArt-Suchseitenstruktur gehören:
- Suchleiste: Der Einstiegspunkt für Benutzer zur Eingabe von Schlüsselwörtern, Tags oder Künstlernamen.
- Filter: Optionen zum Eingrenzen der Suche basierend auf Kategorien, Typen und Popularität.
- Ergebnisraster: Anzeige einer Tabelle mit Miniaturbildern von Kunstwerken, die den Suchkriterien entsprechen.
- Paginierung: Navigation zum Durchlaufen mehrerer Seiten mit Suchergebnissen.
Warum Bilder von DeviantArt scrapen?
Menschen, darunter auch Forscher, scrapen Bilder aus verschiedenen Gründen. Erstens ermöglicht es Enthusiasten, auf DeviantArt verschiedene künstlerische Stile und Talente zu entdecken, was es zu einer spannenden Reise der künstlerischen Erkundung macht. Für Forscher und Analysten liefert das Scraping wertvolle Daten, um Trends und die Entwicklung der digitalen Kunst im Laufe der Zeit zu untersuchen. Künstler und Kunstliebhaber nutzen Scraping-Bilder auch als Inspirationsquelle und erstellen kuratierte Sammlungen, die die immense Kreativität innerhalb der DeviantArt-Community zeigen. Darüber hinaus hilft Scraping dabei, die Dynamik der Community zu verstehen, einschließlich beliebter Themen, Kollaborationstrends und der Auswirkungen verschiedener Kunststile. Im Wesentlichen ist das Scraping von DeviantArt eine Möglichkeit, die reiche Vielfalt des künstlerischen Ausdrucks auf der Plattform zu schätzen, daraus zu lernen und zu ihr beizutragen.
Einrichten Ihrer Umgebung
Stellen wir sicher, dass Ihre Umgebung für das Image Scraping von Deviantart bereit ist. Dieser Abschnitt führt Sie durch die Installation wichtiger Tools, einschließlich Python, und die Einrichtung der erforderlichen Bibliotheken. Crawlbase, BeautifulSoup und Pandas.
Installieren von Python und Bibliotheken
Python-Installation:
Beginnen Sie mit der Installation von Python, der Programmiersprache, die unser Scraping-Abenteuer vorantreibt. Besuchen Sie die offizielle Python-Website und laden Sie die neueste Version herunter, die für Ihr Betriebssystem geeignet ist. Folgen Sie den Installationsanweisungen, um Python auf Ihrem Computer einzurichten.
Erstellen Sie eine virtuelle Umgebung:
Um eine saubere und organisierte Entwicklungsumgebung aufrechtzuerhalten, sollten Sie eine virtuelle Umgebung für Ihr Projekt erstellen. Verwenden Sie die folgenden Befehle in Ihrem Terminal:
1 | # Erstellen Sie eine virtuelle Umgebung |
Installation der Bibliothek:
Sobald Python installiert ist, öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und installieren Sie die erforderlichen Bibliotheken mit den folgenden Befehlen:
1 | pip installieren crawlbase |
Crawlbase: Der crawlbase Bibliothek ist ein Python-Wrapper für die Crawlbase API, die es uns ermöglicht, Webanforderungen effizient zu stellen.
Schöne Suppe: Beautiful Soup ist eine Bibliothek zum Parsen von HTML- und XML-Dokumenten. Sie ist besonders nützlich zum Extrahieren von Daten aus Webseiten.
Pandas: Pandas ist eine leistungsstarke Bibliothek zur Datenbearbeitung, die Ihnen hilft, die Scraped-Daten effizient zu organisieren und zu analysieren.
Produktanfragen: Der requests Die Bibliothek ist ein Python-Modul zum mühelosen Senden von HTTP-Anfragen und Verwalten von Antworten. Es vereinfacht allgemeine HTTP-Operationen und ist daher ein weit verbreitetes Tool für webbezogene Aufgaben wie Web Scraping und API-Interaktionen.
Erhalten Crawlbase API-Schlüssel
Melden Sie sich an für Crawlbase:
Navigieren Sie zu der Crawlbase Website und Registrieren für ein Konto, falls Sie noch keins haben. Sobald Sie registriert sind, melden Sie sich bei Ihrem Konto an.
Rufen Sie Ihren API-Schlüssel ab:
Gehen Sie nach dem Einloggen zu Ihrem Kontodokumentation on Crawlbase. Suchen Sie Ihren API-Schlüssel, der für die Interaktion mit dem Crawlbase Crawling API. Bewahren Sie diesen Schlüssel sicher auf, da er Ihr Tor zum Zugriff auf die gewünschten Webdaten ist.
Auswählen der Entwicklungs-IDE
Eine integrierte Entwicklungsumgebung (IDE) ist wie ein spezieller Bereich zum Schreiben von Code. Sie hilft, indem sie den Code hervorhebt, Wörter während der Eingabe vorschlägt und Tools zum Beheben von Fehlern bereitstellt. Obwohl Sie Python-Code in einem einfachen Texteditor schreiben können, macht die Verwendung einer IDE den Prozess viel einfacher und verbessert Ihre Entwicklungsarbeit.
Hier sind einige beliebte Python-IDEs, die Sie in Betracht ziehen sollten:
PyCharm: PyCharm ist eine robuste IDE mit einer kostenlosen Community Edition. Sie bietet Funktionen wie Codeanalyse, einen visuellen Debugger und Unterstützung für die Webentwicklung.
Visual Studio-Code (VS-Code): VS Code ist ein kostenloser, quelloffener Code-Editor, der von Microsoft entwickelt wurde. Seine umfangreiche Erweiterungsbibliothek macht ihn vielseitig für verschiedene Programmieraufgaben einsetzbar, einschließlich Web Scraping.
Jupyter Notizbuch: Jupyter Notebook eignet sich hervorragend für interaktive Codierung und Datenexploration. Es wird häufig in Data-Science-Projekten verwendet.
Spyder: Spyder ist eine IDE für wissenschaftliche und datenbezogene Aufgaben. Es bietet Funktionen wie einen Variablen-Explorer und eine interaktive Konsole.
Mit diesen Schritten ist Ihre Umgebung nun mit den notwendigen Tools für unser DeviantArt-Scraping-Vorhaben ausgestattet. In den folgenden Abschnitten werden wir diese Tools nutzen, um unseren DeviantArt Scraper zu erstellen und die Welt der digitalen Kunst zu enthüllen.
Möglichkeiten sondieren Crawlbase Crawling API
Wenn Sie sich auf die Reise begeben, Web Scraping für DeviantArt zu verwenden, ist es wichtig, die Crawlbase Crawling API. In diesem Teil werden die technischen Details von CrawlbaseDie API von vermittelt Ihnen das Know-how für die reibungslose Verwendung in Ihrem Python-Job-Scraping-Projekt.
Technische Vorteile von Crawlbase Crawling API
Die Crawlbase Crawling API bietet mehrere wichtige Vorteile und hilft Entwicklern, Webdaten zu sammeln und verschiedene Teile des Crawling-Prozesses einfach zu verwalten. Hier sind einige bemerkenswerte Vorteile:

- Anpassbare Einstellungen: Crawlbase Crawling API bietet viele Einstellungen, mit denen Entwickler ihre API-Anfragen optimieren können. Dazu gehören Parameter wie „Format“, „User_Agent“, „Page_Wait“ und mehr, die eine Anpassung an spezifische Anforderungen ermöglichen.
- Auswahl des Datenformats: Entwickler können je nach Wunsch und Datenverarbeitungsbedarf zwischen den Antwortformaten JSON und HTML wählen. Diese Flexibilität erleichtert die Datenextraktion und -verarbeitung.
- Umgang mit Cookies und Headern: Durch die Verwendung von Parametern wie „get_cookies" und "get_headers„“ können Entwickler wichtige Informationen wie Cookies und Header von der Originalwebsite abrufen, die für bestimmte Web-Scraping-Aufgaben von entscheidender Bedeutung sind.
- Umgang mit dynamischen Inhalten: Diese API eignet sich gut für die Verarbeitung dynamischer Inhalte und ist nützlich für das Crawlen von Seiten mit JavaScript. Parameter wie „Seite_warten" und "ajax_wait„Helfen Sie Entwicklern sicherzustellen, dass die API den gesamten Inhalt erfasst, auch wenn das Laden einige Zeit dauert.
- IP-Adressen ändern: Mit dieser API können Sie IP-Adressen wechseln, wodurch Ihre Anonymität gewahrt bleibt und die Wahrscheinlichkeit verringert wird, von Websites blockiert zu werden. Diese Funktion macht das Web-Crawling erfolgreicher.
- Standort auswählen: Entwickler können ein Land für Anfragen angeben, indem sie das „Land“-Parameter, der praktisch ist, wenn Sie Daten von bestimmten Orten benötigen.
- Unterstützung für das Tor-Netzwerk: Durch Einschalten der „tor_netzwerkDer Parameter „“ ermöglicht das Crawlen von Onion-Websites über das Tor-Netzwerk, wodurch diese privater werden und Zugriff auf Inhalte im Dark Web gewährt wird.
- Scraper für Daten verwenden: Mit dieser API können Sie vordefinierte Daten-Scraper mit „Schaber“-Parameter, wodurch es einfacher wird, spezifische Informationen von Webseiten ohne großen Aufwand abzurufen.
- Asynchrones Crawling: Wenn Sie asynchron crawlen müssen, unterstützt die API die „async“-Parameter. Entwickler erhalten eine Anforderungskennung (RID), um gecrawlte Daten einfach abzurufen von Cloud-Speicher.
- Automatisches Parsen: Das "automatische AnalyseDer Parameter „“ vereinfacht die Datenextraktion, indem er analysierte Informationen im JSON-Format bereitstellt, wodurch der Bedarf an zusätzlicher Arbeit nach dem Abrufen des HTML-Inhalts reduziert wird.
Zusammenfassend, Crawlbase Crawling API ist ein leistungsstarkes Tool für Web Scraping und Datenextraktion. Es bietet eine Vielzahl von Einstellungen und Funktionen für unterschiedliche Anforderungen und macht das Web Crawling effizient und effektiv, unabhängig davon, ob Sie mit dynamischen Inhalten arbeiten, Cookies und Header verwalten, IP-Adressen ändernoder das Abrufen bestimmter Daten.
Anfrage senden mit Crawling API
Crawlbase Crawling API ist auf Einfachheit und einfache Integration in Ihre Web-Scraping-Projekte ausgelegt. Alle API-URLs beginnen mit dem Basisteil: https://api.crawlbase.com. Ihr erster API-Aufruf ist so einfach wie das Ausführen eines Befehls in Ihrem Terminal:
1 | curl 'https://api.crawlbase.com/?token=YOUR_CRAWLBASE_TOKEN&url=https%3A%2F%2Fgithub.com%2Fcrawlbase%3Ftab%3Drepositories' |
Hier sehen Sie den Token-Parameter, der als Authentifizierungsschlüssel für den Zugriff dient Crawlbases Web Scraping-Funktionen. Crawlbase bietet zwei Token-Typen: ein normales (TCP) Token und ein JavaScript (JS) Token. Wählen Sie das normale Token für Websites, die sich kaum ändern, wie z. B. statische Websites. Wenn Sie jedoch Informationen von einer Website abrufen möchten, die nur mit Webbrowsern mit JavaScript funktioniert, oder wenn JavaScript die gewünschten wichtigen Daten auf Benutzerseite bereitstellt, sollten Sie das JavaScript-Token verwenden. Wie bei DeviantArt ist das normale Token eine gute Wahl.
API-Antwortzeit und -Format
Bei der Auseinandersetzung mit dem Crawlbase Crawling APIist es wichtig, die Dynamik der Reaktionszeiten zu verstehen und Erfolg oder Misserfolg zu interpretieren. Schauen wir uns diese Komponenten genauer an:
Reaktionszeiten: Normalerweise weist die API Antwortzeiten im Bereich von 4 bis 10 Sekunden auf. Um einen reibungslosen Ablauf zu gewährleisten und mögliche Verzögerungen auszugleichen, wird empfohlen, ein Timeout für Aufrufe auf mindestens 90 Sekunden festzulegen. Dies schützt Ihre Anwendung und ermöglicht es ihr, Schwankungen in den Antwortzeiten ohne Unterbrechungen zu bewältigen.
Antwortformate: Bei Anfragen an CrawlbaseSie haben die Flexibilität, je nach Ihren Präferenzen und Analyseanforderungen zwischen HTML- und JSON-Antwortformaten zu wählen. Indem Sie dem Abfrageparameter „format“ die Werte „HTML“ oder „JSON“ hinzufügen, können Sie das gewünschte Format angeben.
In dem Szenario, in dem Sie das HTML-Antwortformat (die Standardeinstellung) wählen, liefert die API den HTML-Inhalt der Webseite als Antwort. Die Antwortparameter werden zur einfachen Zugänglichkeit bequem in die Antwortheader integriert. Hier ist ein anschauliches Antwortbeispiel:
1 | Headers: |
Wenn Sie sich für das JSON-Antwortformat entscheiden, erhalten Sie ein strukturiertes JSON-Objekt, das in Ihrer Anwendung problemlos analysiert werden kann. Dieses Objekt enthält alle benötigten Informationen, einschließlich der Antwortparameter. Hier ist eine Beispielantwort:
1 | { |
Antwort-Header: Sowohl HTML- als auch JSON-Antworten enthalten wichtige Header, die wertvolle Informationen über die Anfrage und ihr Ergebnis liefern:
url: Die ursprüngliche URL, die in der Anfrage gesendet wurde, oder die URL aller Weiterleitungen, die Crawlbase gefolgt.original_status: Die Statusantwort, die empfangen wurde von Crawlbase beim Crawlen der in der Anfrage gesendeten URL. Es kann sich um jeden gültigen HTTP-Statuscode handeln.pc_status: Der Crawlbase (pc) Statuscode. Dies kann ein beliebiger Statuscode sein und ist der Code, der letztendlich gültig ist. Wenn eine Website beispielsweise einen Originalstatus von 200 mit einer CAPTCHA-Herausforderung zurückgibt, kann der PC-Status 503 sein.body: Dieser Parameter ist im JSON-Format verfügbar und enthält den Inhalt der Webseite, die Crawlbase gefunden als Ergebnis des Proxy-Crawlings der in der Anfrage gesendeten URL.
Mithilfe dieser Antwortparameter können Sie das Ergebnis Ihrer Anfragen beurteilen und feststellen, ob Ihr Web-Scraping-Vorgang erfolgreich war.
Crawling API Kenngrößen
Crawlbase bietet einen umfassenden Parametersatz, mit dem Entwickler ihre Web-Crawling-Anfragen anpassen können. Diese Parameter ermöglichen eine Feinabstimmung des Crawling-Prozesses an spezifische Anforderungen. Beispielsweise können Sie mit dem Parameter „format“ Antwortformate wie JSON oder HTML angeben oder mit „page_wait“ die Seitenwartezeiten bei der Arbeit mit JavaScript-generierten Inhalten steuern.
Darüber hinaus können Sie Cookies und Header extrahieren, benutzerdefinierte Benutzeragenten festlegen, Screenshots erstellen und sogar Geolokalisierungseinstellungen mithilfe von Parametern wie „get_cookies“, „user_agent“, „screenshot“ und „country“ festlegen. Diese Optionen bieten Flexibilität und Kontrolle über den Web-Crawling-Prozess. Um beispielsweise von der ursprünglichen Website gesetzte Cookies abzurufen, können Sie einfach den Abfrageparameter get_cookies=true in Ihre API-Anfrage einfügen. Crawlbase gibt die Cookies in den Antwortheadern zurück.
Sie können mehr darüber lesen Crawlbase Crawling API Parameter werden auf dieser Seite erläutert.
Kostenlose Testversion, Gebührenstrategie und Ratenbegrenzung
Crawlbase bietet eine Testphase für die ersten 1,000 Anfragen und ermöglicht es Ihnen, die Funktionen vor einer verbindlichen Entscheidung zu testen. Die Optimierung dieser Testphase ist jedoch entscheidend, um den größtmöglichen Nutzen daraus zu ziehen.
Betrieb nach einem „Pay-as-you-go“-Modell, Crawlbase Gebühren werden ausschließlich für erfolgreiche Anfragen erhoben, wodurch eine kostengünstige und effiziente Lösung für Ihre Web Scraping-Bemühungen gewährleistet wird. Die Bestimmung erfolgreicher Anfragen hängt von der Prüfung der original_status und pc_status innerhalb der Antwortparameter.
Die API legt eine Ratenbegrenzung fest, die die Anfragen auf maximal 20 pro Sekunde und Token begrenzt. Sollten Sie eine höhere Ratenbegrenzung benötigen, können Sie sich an den Support wenden, um eine maßgeschneiderte Diskussion zu Ihren spezifischen Anforderungen zu führen.
Crawlbase Python-Bibliothek
Die Crawlbase Die Python-Bibliothek bietet eine einfache Möglichkeit zur Interaktion mit dem Crawlbase Crawling APISie können diese leichte und abhängigkeitsfreie Python-Klasse als Wrapper für die Crawlbase API. Initialisieren Sie zunächst die Crawling API Klasse mit Ihrem Crawlbase Token. Anschließend können Sie GET-Anfragen stellen, indem Sie die zu scrapende URL und alle gewünschten Optionen, wie z. B. benutzerdefinierte Benutzeragenten oder Antwortformate, angeben. Beispielsweise können Sie eine Webseite scrapen und wie folgt auf deren Inhalt zugreifen:
1 | von Crawlbase importieren CrawlingAPI |
Diese Bibliothek vereinfacht den Prozess des Abrufens von Webdaten und ist besonders nützlich für Szenarien, in denen dynamische Inhalte, IP-Rotation und andere erweiterte Funktionen des Crawlbase API sind erforderlich.
Crawling DeviantArt-Suchseite
Nachdem wir nun DeviantArt und eine konfigurierte Umgebung kennen, können wir uns nun mit dem spannenden Crawling der DeviantArt-Suchseite befassen. Dieser Abschnitt führt Sie durch den Import der erforderlichen Bibliotheken, die Erstellung der URL für die Suche und das Erstellen von API-Anfragen mithilfe der Crawlbase Crawling API um HTML-Inhalte abzurufen.
Importieren erforderlicher Bibliotheken
Öffnen Sie Ihren bevorzugten Python-Editor oder erstellen Sie eine neue Python-Skriptdatei. Um unser Crawling-Abenteuer zu starten, müssen wir uns mit den richtigen Tools ausstatten. Importieren Sie die erforderlichen Bibliotheken in Ihr Python-Skript:
1 | von Crawlbase importieren CrawlingAPI |
Hier bringen wir die CrawlingAPI Klasse von Crawlbase, um sicherzustellen, dass wir über die Fähigkeit verfügen, mit den Crawling API.
Erstellen der URL für die DeviantArt-Suche
Lassen Sie uns nun die URL für unsere DeviantArt-Suche konstruieren. Angenommen, wir möchten digitale Kunst mit dem Schlüsselwort „Fantasy“ erkunden. Die URL-Konstruktion könnte folgendermaßen aussehen:
1 | # Ersetzen Sie 'YOUR_CRAWLBASE_TOKEN' durch Ihren tatsächlichen Crawlbase API-Token |
API-Anfragen stellen mit Crawlbase Crawling API zum Abrufen von HTML
Mit unserer fertigen URL nutzen wir die Macht der Crawlbase Crawling API um den HTML-Inhalt der DeviantArt-Suchseite abzurufen:
1 | # Die API-Anfrage stellen |
In diesem Snippet haben wir die Get-Methode der CrawlingAPI-Klasse verwendet, um eine Anfrage an die erstellte Such-URL zu stellen. Die Antwort wird dann auf Erfolg überprüft und bei Erfolg wird der HTML-Inhalt zur weiteren Untersuchung extrahiert.
Ausführen Ihres Skripts
Jetzt, da Ihr Skript fertig ist, speichern Sie es mit der Erweiterung .py, zum Beispiel deviantart_scraper.py. Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung, navigieren Sie zum Verzeichnis des Skripts und führen Sie Folgendes aus:
1 | python deviantart_scraper.py |
Ersetzen Sie deviantart_scraper.py durch den tatsächlichen Namen Ihres Skripts. Drücken Sie die Eingabetaste, und Ihr Skript wird ausgeführt und der Crawling-Vorgang auf der DeviantArt-Suchseite wird eingeleitet.
Beispielausgabe:

Mit diesen Schritten haben wir den Crawling-Prozess der DeviantArt-Suchseite eingeleitet. In den nächsten Abschnitten werden wir uns eingehender mit dem Parsen und Extrahieren von Bild-URLs befassen und so der Fertigstellung unseres DeviantArt Scrapers näher kommen.
Umgang mit Paginierung
Das Navigieren durch mehrere Seiten ist beim Scraping von Websites mit umfangreichen Inhalten eine häufige Herausforderung, und DeviantArt bildet hier keine Ausnahme. In diesem Abschnitt werden wir uns mit den Feinheiten der Seitennummerierung befassen und sicherstellen, dass unser DeviantArt-Scraper effizient ein breites Spektrum an Suchergebnissen erfasst.
Paginierung in DeviantArt verstehen
DeviantArt strukturiert Suchergebnisse über mehrere Seiten, um Inhalte systematisch zu verwalten und zu präsentieren. Jede Seite enthält normalerweise eine Teilmenge an Ergebnissen, und Benutzer blättern durch diese Seiten, um weitere Inhalte zu erkunden. Das Verständnis dieses Paginierungssystems ist für unseren Scraper unerlässlich, um einen umfassenden Datensatz zu sammeln.
Ändern von API-Anfragen für mehrere Seiten
Um unseren Scraper für die Paginierung anzupassen, müssen wir unsere API-Anfragen dynamisch ändern, während wir uns durch verschiedene Seiten bewegen. Betrachten Sie das folgende Beispiel:
1 | # Angenommen, „page_number“ ist die Variable, die die Seitenzahl darstellt |
In diesem Snippet haben wir angehängt &page={page_number} zur Such-URL, um die gewünschte Seite anzugeben. Während unser Scraper durch die Seiten geht, können wir die page_number entsprechend variabel.
Sicherstellung einer effizienten Seitennummerierung
Bei der Seitennummerierung ist Effizienz von größter Bedeutung, um eine unnötige Belastung der Ressourcen zu vermeiden. Erwägen Sie die Implementierung einer Schleife, um systematisch mehrere Seiten zu durchlaufen. Aktualisieren wir das Skript aus dem vorherigen Abschnitt, um die Seitennummerierung einzubinden:
1 | von Crawlbase importieren CrawlingAPI |
Die scrape_page Die Funktion kapselt die Logik zum Erstellen der URL, zum Erstellen einer API-Anforderung und zum Extrahieren des HTML-Inhalts. Sie prüft den Statuscode der Antwort und verarbeitet bei Erfolg (Statuscode 200) den HTML-Inhalt zur Datenextraktion. Die main Funktion initialisiert die Crawlbase API legt die Basis-URL, das Schlüsselwort und die Gesamtzahl der zu scrapenden Seiten fest. Anschließend iteriert es durch die angegebene Anzahl von Seiten und ruft die scrape_page Funktion für jede Seite. Die extrahierten Daten, hier als Platzhalterliste dargestellt, werden zu Demonstrationszwecken ausgedruckt.
In den nächsten Abschnitten werden wir uns eingehend mit dem Prozess der Analyse von HTML-Inhalten zum Extrahieren von Bild-URLs und der Implementierung von Mechanismen zum systematischen Herunterladen dieser Bilder befassen.
Analysieren und Extrahieren von Bild-URLs
Nachdem wir nun erfolgreich durch mehrere Seiten navigiert sind, ist es an der Zeit, uns auf das Parsen und Extrahieren wertvoller Informationen aus dem HTML-Inhalt zu konzentrieren. In diesem Abschnitt erfahren Sie, wie Sie die DeviantArt-Suchseite auf CSS-Selektoren untersuchen, diese Selektoren zur Bildextraktion verwenden, die extrahierten URLs bereinigen und schließlich die Daten sowohl im CSV- als auch im SQLite-Format speichern.
Untersuchen der DeviantArt-Suchseite auf CSS-Selektoren
Bevor wir Bild-URLs extrahieren können, müssen wir die HTML-Elemente identifizieren, die die relevanten Informationen enthalten. Klicken Sie mit der rechten Maustaste auf die Webseite, wählen Sie „Untersuchen“ (oder „Element untersuchen“) und navigieren Sie durch die HTML-Struktur, um die Elemente zu finden, die die Bild-URLs enthalten.
DeviantArt strukturiert seine Bild-URLs beispielsweise in HTML-Tags wie:
1 | <a |
In diesem Fall könnte der CSS-Selektor für die Bild-URL lauten: a[data-hook="deviation_link"] img[property="contentUrl"].
Verwenden von CSS-Selektoren zum Extrahieren von Bild-URLs
Integrieren wir die Parsing-Logik in unser bestehendes Skript. Mithilfe der BeautifulSoup-Bibliothek können wir den HTML-Inhalt parsen und Bild-URLs basierend auf den identifizierten CSS-Selektoren. Aktualisieren Sie die Funktion scrape_page, um die Analyselogik mithilfe von CSS-Selektoren einzuschließen.
1 | von Crawlbase importieren CrawlingAPI |
scrape_page(api, base_url, keyword, page_number): Diese Funktion übernimmt Parameter für die Crawlbase API-Instanz api, die Basis-URL base_url, ein Suchbegriff keywordund die Seitenzahl page_number. Es erstellt die URL für die aktuelle Seite, sendet eine Anfrage an die Crawlbase API zum Abrufen des HTML-Inhalts und extrahiert anschließend Bild-URLs mit BeautifulSoup aus dem HTML. Der für Bild-URLs verwendete CSS-Selektor ist „a[data-hook="deviation_link"] img[property="contentUrl"]'. Die extrahierten Bild-URLs werden in einer Liste von Wörterbüchern gespeichert parsed_data.main(): Diese Funktion ist der Haupteinstiegspunkt des Skripts. Sie initialisiert die Crawlbase API mit einem bereitgestellten Token, setzt die Basis-URL auf „https://www.deviantart.com”, gibt das Suchwort als „Fantasie“ an und definiert die Gesamtzahl der zu durchsuchenden Seiten (in diesem Fall 2). Es durchläuft die angegebene Anzahl von Seiten und ruft die scrape_page Funktion für jede Seite und Anhängen der extrahierten Daten an die all_data Liste. Schließlich druckt es die extrahierten Daten in einer formatierten JSON-Darstellung mit json.dumps.
Beispielausgabe:
1 | [ |
Extrahierte Daten in CSV- und SQLite-Datenbank speichern
Jetzt aktualisieren wir die main Funktion zum Verarbeiten der extrahierten Daten und Speichern im CSV- und SQLite-Format.
1 | importieren sqlite3 |
- Für die CSV-Speicherung verwendet das Skript die Pandas-Bibliothek, um aus den extrahierten Daten einen DataFrame df zu erstellen und schreibt den DataFrame dann in eine CSV-Datei
deviantart_data.csvmit der Methode to_csv. - Bei SQLite-Datenbankspeicher initialisiert das Skript die Datenbank mit dem
initialize_databaseFunktion und fügt die extrahierten Daten in diedeviantart_dataTabelle mit deminsert_data_into_databaseFunktion. Die Datenbankdateideviantart_data.dbwird bei jedem Ausführen des Skripts erstellt und aktualisiert und enthält die ID- und Bild-URL-Spalten für jeden Datensatz.
deviantart_data.csv Vorschau:

deviantart_data.db Vorschau:

Herunterladen von Bildern von extrahierten Bild-URLs
Dieser Abschnitt führt Sie durch den Prozess der Verwendung von Python zum Herunterladen von Bildern von URLs, die aus DeviantArt stammen, zum Behandeln potenzieller Downloadfehler und zum effizienten Organisieren der heruntergeladenen Bilder.
Verwenden von Python zum Herunterladen von Bildern
Python bietet eine Vielzahl von Bibliotheken für die Verarbeitung von HTTP-Anfragen und das Herunterladen von Dateien. Eine gängige und benutzerfreundliche Wahl ist die requests Bibliothek. Unten sehen Sie ein einfaches Beispiel, wie Sie damit ein Bild herunterladen können:
1 | importieren Zugriffe |
Diese Funktion, download_image, nimmt eine Bild-URL und einen lokalen Pfad, in dem das Bild gespeichert werden soll. Es verwendet dann die requests Bibliothek, um das Bild herunterzuladen.
Heruntergeladene Bilder organisieren
Das Organisieren heruntergeladener Bilder in einem strukturierten Verzeichnis kann die weitere Verarbeitung erheblich vereinfachen. Erwägen Sie die Erstellung einer Ordnerstruktur basierend auf Kategorien, Schlüsselwörtern oder anderen relevanten Kriterien. Hier ist ein einfaches Beispiel, wie Sie heruntergeladene Bilder organisieren könnten:
1 | heruntergeladene_bilder/ |
Diese Organisation kann erreicht werden durch die Anpassung der download_path in England, download_image Funktion basierend auf der Kategorie oder allen relevanten Informationen, die mit jedem Bild verknüpft sind.
Mit diesen Schritten können Sie nicht nur Bilder von DeviantArt herunterladen, sondern auch Fehler effektiv beheben und die heruntergeladenen Bilder für einen einfachen Zugriff und eine weitere Analyse organisieren.
Zusammenfassung
Ich hoffe, dass Sie nun problemlos Bilder von DeviantArt mit Python und dem herunterladen und scrapen können. Crawlbase Crawling API. Und indem Sie Python verwenden und die DeviantArt-Suchseiten ausprobieren, haben Sie außerdem gelernt, wie Sie Bildlinks effektiv herausnehmen und organisieren.
Egal, ob Sie eine Sammlung digitaler Kunst anlegen oder versuchen, herauszufinden, was auf DeviantArt zu finden ist, es ist wichtig, das Web verantwortungsbewusst zu durchsuchen. Befolgen Sie immer die Regeln der Plattform und handeln Sie ethisch.
Jetzt, da Sie über diese nützlichen Fähigkeiten verfügen, können Sie selbst mit dem Scraping im Web beginnen. Wenn Sie auf Probleme stoßen, können Sie den Crawlbase Support-Team um Hilfe.
Häufig gestellte Fragen
F: Ist Web Scraping auf DeviantArt legal?
Obwohl Web Scraping an sich im Allgemeinen legal ist, ist es wichtig, sich innerhalb der Grenzen zu bewegen, die in den Servicebedingungen von DeviantArt festgelegt sind. DeviantArt Scraper arbeitet unter Einhaltung ethischer Scraping-Praktiken. Lesen Sie immer die Richtlinien von DeviantArt und halten Sie diese ein, um eine verantwortungsvolle und rechtmäßige Nutzung sicherzustellen.
F: Wie kann ich die Seitennummerierung beim Scraping von DeviantArt handhaben?
Die Verwaltung der Seitennummerierung in DeviantArt umfasst das Erstellen von URLs für verschiedene Seiten in den Suchergebnissen. Die Anleitung zeigt, wie API-Anfragen für mehrere Seiten angepasst werden können, um ein reibungsloses Durchlaufen der DeviantArt-Suchseiten zu ermöglichen. Dies gewährleistet einen umfassenden Datenabruf für eine gründliche Erkundung.
F: Kann ich die Daten, die ich von DeviantArt scrape, anpassen?
Absolut. Der Leitfaden bietet Einblicke in die Überprüfung der HTML-Struktur von DeviantArt-Suchseiten und die Nutzung von CSS-Selektoren. Diese Anpassung ermöglicht es Ihnen, Ihre Datenextraktion anzupassen und sich auf bestimmte Informationen wie Bild-URLs zu konzentrieren. Passen Sie die Scraping-Logik an Ihre individuellen Bedürfnisse und Vorlieben an.
F: Welche Vorteile bietet die Speicherung von Daten sowohl im CSV- als auch im SQLite-Format?
Das Speichern von Daten in den Formaten CSV und SQLite bietet einen vielseitigen Ansatz. CSV erleichtert das Teilen und Analysieren von Daten und macht sie für verschiedene Anwendungen zugänglich. Auf der anderen Seite bietet SQLite eine leichte Datenbanklösung, die einen effizienten Datenabruf und eine effiziente Datenverwaltung in Ihren Python-Projekten gewährleistet. Dieser Dual-Format-Ansatz ist auf unterschiedliche Anwendungsfälle und Vorlieben zugeschnitten.












