Heim Backend-Entwicklung Python-Tutorial Scrapy-Übung: Crawlen und Analysieren von Daten aus einem Spieleforum

Scrapy-Übung: Crawlen und Analysieren von Daten aus einem Spieleforum

Jun 22, 2023 am 09:04 AM
数据分析 scrapy 游戏论坛

In den letzten Jahren ist die Verwendung von Python für Data Mining und Analyse immer häufiger geworden. Scrapy ist ein beliebtes Tool zum Scrapen von Website-Daten. In diesem Artikel stellen wir vor, wie man mit Scrapy Daten aus einem Spieleforum für die anschließende Datenanalyse crawlt.

1. Wählen Sie das Ziel aus

Zuerst müssen wir eine Zielwebsite auswählen. Hier wählen wir ein Spieleforum.

Wie im Bild unten gezeigt, enthält dieses Forum verschiedene Ressourcen, wie z. B. Spielanleitungen, Spiel-Downloads, Spielerkommunikation usw.

Unser Ziel ist es, den Titel des Beitrags, den Autor, den Zeitpunkt der Veröffentlichung, die Anzahl der Antworten und andere Informationen für die anschließende Datenanalyse zu erhalten.

2. Erstellen Sie ein Scrapy-Projekt

Bevor wir mit dem Crawlen von Daten beginnen, müssen wir ein Scrapy-Projekt erstellen. Geben Sie in der Befehlszeile den folgenden Befehl ein:

scrapy startproject forum_spider
Nach dem Login kopieren

Dadurch wird ein neues Projekt mit dem Namen „forum_spider“ erstellt.

3. Scrapy-Einstellungen konfigurieren

In der Datei „settings.py“ müssen wir einige Einstellungen konfigurieren, um sicherzustellen, dass Scrapy die erforderlichen Daten von der Forum-Website erfolgreich crawlen kann. Im Folgenden sind einige häufig verwendete Einstellungen aufgeführt:

BOT_NAME = 'forum_spider'

SPIDER_MODULES = ['forum_spider.spiders']
NEWSPIDER_MODULE = 'forum_spider.spiders'

ROBOTSTXT_OBEY = False # 忽略robots.txt文件
DOWNLOAD_DELAY = 1 # 下载延迟
COOKIES_ENABLED = False # 关闭cookies
Nach dem Login kopieren

4. Spider schreiben

In Scrapy ist Spider die Klasse, die für die eigentliche Arbeit (d. h. das Crawlen der Website) verwendet wird. Wir müssen einen Spider definieren, um die erforderlichen Daten aus dem Forum zu erhalten.

Wir können Scrapys Shell verwenden, um unseren Spider zu testen und zu debuggen. Geben Sie in der Befehlszeile den folgenden Befehl ein:

scrapy shell "https://forum.example.com"
Nach dem Login kopieren

Dadurch wird eine interaktive Python-Shell mit dem Zielforum geöffnet.

In der Shell können wir den folgenden Befehl verwenden, um den erforderlichen Selektor zu testen:

response.xpath("xpath_expression").extract()
Nach dem Login kopieren

Hier sollte „xpath_expression“ der XPath-Ausdruck sein, der zur Auswahl der erforderlichen Daten verwendet wird.

Zum Beispiel wird der folgende Code verwendet, um alle Threads im Forum abzurufen:

response.xpath("//td[contains(@id, 'td_threadtitle_')]").extract()
Nach dem Login kopieren

Nachdem wir den XPath-Ausdruck festgelegt haben, können wir einen Spider erstellen.

Im Spiders-Ordner erstellen wir eine neue Datei namens „forum_spider.py“. Das Folgende ist der Code von Spider:

import scrapy

class ForumSpider(scrapy.Spider):
    name = "forum"
    start_urls = [
        "https://forum.example.com"
    ]

    def parse(self, response):
        for thread in response.xpath("//td[contains(@id, 'td_threadtitle_')]"):
            yield {
                'title': thread.xpath("a[@class='s xst']/text()").extract_first(),
                'author': thread.xpath("a[@class='xw1']/text()").extract_first(),
                'date': thread.xpath("em/span/@title").extract_first(),
                'replies': thread.xpath("a[@class='xi2']/text()").extract_first()
            }
Nach dem Login kopieren

Im obigen Code definieren wir zunächst den Namen von Spider als „Forum“ und legen eine Start-URL fest. Anschließend haben wir die Methode parse() definiert, um die Antwort der Forumseite zu verarbeiten.

In der parse()-Methode verwenden wir XPath-Ausdrücke, um die benötigten Daten auszuwählen. Als nächstes verwenden wir die yield-Anweisung, um die Daten in einem Python-Wörterbuch zu generieren und zurückzugeben. Das bedeutet, dass unser Spider alle Threads auf der Forum-Homepage nacheinander crawlt und die erforderlichen Daten extrahiert.

5. Spider ausführen

Bevor wir Spider ausführen, müssen wir sicherstellen, dass Scrapy korrekt konfiguriert wurde. Mit dem folgenden Befehl können wir testen, ob der Spider ordnungsgemäß funktioniert:

scrapy crawl forum
Nach dem Login kopieren

Dadurch wird unser Spider gestartet und die gescrapten Daten in der Konsole ausgegeben.

6. Datenanalyse

Nachdem wir die Daten erfolgreich gecrawlt haben, können wir einige Python-Bibliotheken (wie Pandas und Matplotlib) verwenden, um die Daten zu analysieren und zu visualisieren.

Wir können die gecrawlten Daten zunächst als CSV-Datei speichern, um die Datenanalyse und -verarbeitung zu erleichtern.

import pandas as pd

df = pd.read_csv("forum_data.csv")
print(df.head())
Nach dem Login kopieren

Dadurch werden die ersten fünf Datenzeilen in der CSV-Datei angezeigt.

Wir können Bibliotheken wie Pandas und Matplotlib verwenden, um statistische Analysen und Visualisierung von Daten durchzuführen.

Hier ist ein einfaches Beispiel, in dem wir die Daten nach der Veröffentlichungszeit sortieren und die Gesamtzahl der Beiträge grafisch darstellen.

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv("forum_data.csv")

df['date'] = pd.to_datetime(df['date']) #将时间字符串转化为时间对象
df['month'] = df['date'].dt.month

grouped = df.groupby('month')
counts = grouped.size()

counts.plot(kind='bar')
plt.title('Number of Threads by Month')
plt.xlabel('Month')
plt.ylabel('Count')
plt.show()
Nach dem Login kopieren

Im obigen Code haben wir die Veröffentlichungszeit in ein Python-Datetime-Objekt umgewandelt und die Daten nach Monat gruppiert. Anschließend haben wir mit Matplotlib ein Histogramm erstellt, um die Anzahl der jeden Monat veröffentlichten Beiträge anzuzeigen.

7. Zusammenfassung

Dieser Artikel stellt vor, wie man Scrapy zum Crawlen von Daten aus einem Spieleforum verwendet, und zeigt, wie man die Pandas- und Matplotlib-Bibliotheken von Python für die Datenanalyse und -visualisierung verwendet. Bei diesen Tools handelt es sich um Python-Bibliotheken, die im Bereich der Datenanalyse sehr beliebt sind und zur Erkundung und Visualisierung von Website-Daten verwendet werden können.

Das obige ist der detaillierte Inhalt vonScrapy-Übung: Crawlen und Analysieren von Daten aus einem Spieleforum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lesen Sie CSV-Dateien und führen Sie eine Datenanalyse mit Pandas durch Lesen Sie CSV-Dateien und führen Sie eine Datenanalyse mit Pandas durch Jan 09, 2024 am 09:26 AM

Pandas ist ein leistungsstarkes Datenanalysetool, das verschiedene Arten von Datendateien problemlos lesen und verarbeiten kann. Unter diesen sind CSV-Dateien eines der gebräuchlichsten und am häufigsten verwendeten Datendateiformate. In diesem Artikel wird erläutert, wie Sie mit Pandas CSV-Dateien lesen und Datenanalysen durchführen, und es werden spezifische Codebeispiele bereitgestellt. 1. Importieren Sie die erforderlichen Bibliotheken. Zuerst müssen wir die Pandas-Bibliothek und andere möglicherweise benötigte verwandte Bibliotheken importieren, wie unten gezeigt: importpandasaspd 2. Lesen Sie die CSV-Datei mit Pan

Einführung in Datenanalysemethoden Einführung in Datenanalysemethoden Jan 08, 2024 am 10:22 AM

Gängige Datenanalysemethoden: 1. Vergleichende Analysemethode; 3. Methode der Trendanalyse; , Hauptkomponentenanalysemethode 9. Streuanalysemethode; 10. Matrixanalysemethode; Detaillierte Einführung: 1. Vergleichende Analysemethode: Vergleichende Analyse von zwei oder mehr Daten, um die Unterschiede und Muster zu finden. 2. Strukturelle Analysemethode: Eine Methode zur vergleichenden Analyse zwischen jedem Teil des Ganzen , usw.

11 Grundverteilungen, die Datenwissenschaftler in 95 % der Fälle verwenden 11 Grundverteilungen, die Datenwissenschaftler in 95 % der Fälle verwenden Dec 15, 2023 am 08:21 AM

Im Anschluss an die letzte Bestandsaufnahme von „11 Basisdiagramme, die Datenwissenschaftler in 95 % der Zeit verwenden“ stellen wir Ihnen heute 11 Basisverteilungen vor, die Datenwissenschaftler in 95 % der Zeit verwenden. Die Beherrschung dieser Verteilungen hilft uns, die Natur der Daten besser zu verstehen und bei der Datenanalyse und Entscheidungsfindung genauere Schlussfolgerungen und Vorhersagen zu treffen. 1. Normalverteilung Die Normalverteilung, auch Gaußsche Verteilung genannt, ist eine kontinuierliche Wahrscheinlichkeitsverteilung. Es hat eine symmetrische glockenförmige Kurve mit dem Mittelwert (μ) als Mittelpunkt und der Standardabweichung (σ) als Breite. Die Normalverteilung hat in vielen Bereichen wie Statistik, Wahrscheinlichkeitstheorie und Ingenieurwesen einen wichtigen Anwendungswert.

11 erweiterte Visualisierungen für Datenanalyse und maschinelles Lernen 11 erweiterte Visualisierungen für Datenanalyse und maschinelles Lernen Oct 25, 2023 am 08:13 AM

Visualisierung ist ein leistungsstarkes Werkzeug, um komplexe Datenmuster und Beziehungen auf intuitive und verständliche Weise zu kommunizieren. Sie spielen eine wichtige Rolle bei der Datenanalyse und liefern Erkenntnisse, die aus Rohdaten oder herkömmlichen numerischen Darstellungen oft nur schwer zu erkennen sind. Visualisierung ist für das Verständnis komplexer Datenmuster und -beziehungen von entscheidender Bedeutung. Wir stellen die 11 wichtigsten und unverzichtbarsten Diagramme vor, die dabei helfen, die Informationen in den Daten offenzulegen und komplexe Daten verständlicher und aussagekräftiger zu machen. 1. KSPlotKSPlot wird zur Bewertung von Verteilungsunterschieden verwendet. Die Kernidee besteht darin, den maximalen Abstand zwischen den kumulativen Verteilungsfunktionen (CDF) zweier Verteilungen zu messen. Je kleiner der maximale Abstand, desto wahrscheinlicher ist es, dass sie zur gleichen Verteilung gehören. Daher wird es hauptsächlich als „System“ zur Bestimmung von Verteilungsunterschieden interpretiert.

Maschinelles Lernen und Datenanalyse mit der Go-Sprache Maschinelles Lernen und Datenanalyse mit der Go-Sprache Nov 30, 2023 am 08:44 AM

In der heutigen intelligenten Gesellschaft sind maschinelles Lernen und Datenanalyse unverzichtbare Werkzeuge, die den Menschen helfen können, große Datenmengen besser zu verstehen und zu nutzen. Auch in diesen Bereichen hat sich die Go-Sprache zu einer Programmiersprache entwickelt, die aufgrund ihrer Geschwindigkeit und Effizienz die erste Wahl vieler Programmierer ist. In diesem Artikel wird die Verwendung der Go-Sprache für maschinelles Lernen und Datenanalyse vorgestellt. 1. Das Ökosystem der Go-Sprache für maschinelles Lernen ist nicht so reichhaltig wie Python und R. Da jedoch immer mehr Menschen beginnen, es zu verwenden, gibt es einige Bibliotheken und Frameworks für maschinelles Lernen

Verwendung von ECharts und PHP-Schnittstellen zur Implementierung der Datenanalyse und Vorhersage statistischer Diagramme Verwendung von ECharts und PHP-Schnittstellen zur Implementierung der Datenanalyse und Vorhersage statistischer Diagramme Dec 17, 2023 am 10:26 AM

Verwendung von ECharts und PHP-Schnittstellen zur Implementierung der Datenanalyse und Vorhersage statistischer Diagramme. Datenanalyse und -vorhersage spielen in verschiedenen Bereichen eine wichtige Rolle. Sie können uns helfen, die Trends und Muster von Daten zu verstehen und Referenzen für zukünftige Entscheidungen bereitzustellen. ECharts ist eine Open-Source-Datenvisualisierungsbibliothek, die umfangreiche und flexible Diagrammkomponenten bereitstellt, die mithilfe der PHP-Schnittstelle Daten dynamisch laden und verarbeiten können. In diesem Artikel wird die Implementierungsmethode der statistischen Diagrammdatenanalyse und -vorhersage basierend auf ECharts und der PHP-Schnittstelle vorgestellt und bereitgestellt

Integrierte Excel-Datenanalyse Integrierte Excel-Datenanalyse Mar 21, 2024 am 08:21 AM

1. In dieser Lektion erklären wir die integrierte Excel-Datenanalyse. Wir vervollständigen sie anhand eines Falls. Öffnen Sie das Kursmaterial und klicken Sie auf Zelle E2, um die Formel einzugeben. 2. Anschließend wählen wir Zelle E53 aus, um alle folgenden Daten zu berechnen. 3. Dann klicken wir auf Zelle F2 und geben dann die Formel ein, um sie zu berechnen. Ebenso können wir durch Ziehen nach unten den gewünschten Wert berechnen. 4. Wir wählen Zelle G2 aus, klicken auf die Registerkarte „Daten“, klicken auf „Datenvalidierung“, wählen aus und bestätigen. 5. Verwenden wir dieselbe Methode, um die unten stehenden Zellen, die berechnet werden müssen, automatisch auszufüllen. 6. Als nächstes berechnen wir den tatsächlichen Lohn und wählen Zelle H2 aus, um die Formel einzugeben. 7. Dann klicken wir auf das Wert-Dropdown-Menü, um auf andere Zahlen zu klicken.

Welche Datenanalyse-Websites werden empfohlen? Welche Datenanalyse-Websites werden empfohlen? Mar 13, 2024 pm 05:44 PM

Empfohlen: 1. Wirtschaftsforum des Volkskongresses – Bereich Ökonometrie und Statistik; 4. Forum für Datenanalyse; . Datenanalyse; 8. Data Mining Research Institute; 9. S-PLUS, R Statistikforum.

See all articles