Die Preisentwicklung der Wettbewerber zu beobachten ist die Voraussetzung für eine belastbare Marktanalyse und für die Wettbewerbsfähigkeit Ihrer Marke. Preise manuell zu erfassen kostet viel Zeit und ist fehleranfällig.
Automatisierte Verfahren zur Preisbeobachtung sind deshalb zu wirkungsvollen Werkzeugen für die Optimierung von Geschäftsprozessen geworden. Im Folgenden zeigen wir vier grundlegende Methoden, mit denen Sie die Preisbeobachtung für Ihre Marke automatisieren.
Installation von Scrapy
Stellen Sie zunächst sicher, dass die aktuelle Python-Version auf Ihrem Rechner installiert ist. Installieren Sie anschließend die Scrapy-Bibliothek für Ihr Projekt mit dem folgenden Befehl. Sie können ihn im Python-Terminal oder in der Eingabeaufforderung ausführen, um die Installation abzuschließen.
pip install scrapyEin Scrapy-Projekt anlegen
Um mit Scrapy zu arbeiten, legen Sie zuerst ein Projekt an. Ein neues Scrapy-Projekt starten Sie mit diesem Befehl:
scrapy startproject fiyat_takibiDer Befehl erzeugt einen Ordner namens „fiyat_takibi“ und legt darin die grundlegenden Projektdateien von Scrapy an.
Einen Scrapy-Spider anlegen
Nun brauchen wir einen Spider, der die Produktpreise ausliest. In Scrapy ist ein Spider eine Klasse, die geschrieben wird, um Daten von einer bestimmten Webseite abzurufen.
Wechseln Sie im Projektordner in das Verzeichnis fiyat_takibi/spiders.
Legen Sie eine neue Python-Datei an, zum Beispiel fiyat_spider.py.
Hier ein Beispiel für einen Scrapy-Crawler:
import scrapy
class FiyatSpider(scrapy.Spider):
name = “fiyat_spider”
# Define the URLs of your competitor’s product pages here;
start_urls = [
‘https://www.ornek-site.com/urunler/urun-1’,
‘https://www.ornek-site.com/urunler/urun-2’,
‘https://www.ornek-site.com/urunler/urun-3’,
]
def parse(self, response):
# We are extracting the page title and product price;
urun_adi = response.xpath(‘//h1[@class=”product-title”]/text()’).get()
urun_fiyati = response.xpath(‘//span[@class=”price”]/text()’).get()
# We are returning the data as output.
yield {
‘urun_adi’: urun_adi,
‘urun_fiyati’: urun_fiyati.strip() if urun_fiyati else ‘Fiyat bulunamadı’,
}Erläuterung
Das obige Codebeispiel ist für einen Beispiel-Onlineshop geschrieben. Führen Sie es für jede Wettbewerber-Website separat und unter einem eigenen Namen aus.
start_urls: Die Links jeder Wettbewerber-Website sollten in getrennten Dateien liegen. Hier legen Sie die URL-Listen der Produktseiten fest, die Sie für die Preisbeobachtung verfolgen wollen.
parse: Scrapy ruft die Funktion parse für jede URL auf, um Daten aus der Seite zu extrahieren. Wir verwenden hier XPath-Ausdrücke, um Produktname und Preis aus der Seite zu lesen.
xpath: Eine Methode, um Elemente auf einer Seite zu adressieren. XPath ermöglicht den Zugriff auf XML- und HTML-Strukturen.
yield: Weist Scrapy an, die Daten als Ergebnis zurückzugeben. Die extrahierten Daten werden üblicherweise in einer JSON- oder CSV-Datei gespeichert.