Heim Backend-Entwicklung Python-Tutorial Wie kann ich mit Scrapy Kugou Music-Songs crawlen?

Wie kann ich mit Scrapy Kugou Music-Songs crawlen?

Jun 22, 2023 pm 10:59 PM
爬取 scrapy 酷狗音乐

Mit der Entwicklung des Internets nimmt die Informationsmenge im Internet zu und die Menschen müssen Informationen von verschiedenen Websites crawlen, um verschiedene Analysen und Mining durchzuführen. Scrapy ist ein voll funktionsfähiges Python-Crawler-Framework, das Website-Daten automatisch crawlen und in strukturierter Form ausgeben kann. Kugou Music ist eine der beliebtesten Online-Musikplattformen. Im Folgenden werde ich vorstellen, wie man Scrapy zum Crawlen der Songinformationen von Kugou Music verwendet.

1. Scrapy installieren

Scrapy ist ein Framework, das auf der Python-Sprache basiert, daher müssen Sie zuerst die Python-Umgebung konfigurieren. Bevor Sie Scrapy installieren, müssen Sie zuerst die Python- und Pip-Tools installieren. Nachdem die Installation abgeschlossen ist, können Sie Scrapy über den folgenden Befehl installieren:

pip install scrapy
Nach dem Login kopieren

2. Erstellen Sie ein neues Scrapy-Projekt.

Scrapy bietet eine Reihe von Befehlszeilentools, die uns das Erstellen neuer Projekte erleichtern. Geben Sie den folgenden Code in die Befehlszeile ein:

scrapy startproject kuwo_music
Nach dem Login kopieren

Nach der Ausführung wird im aktuellen Verzeichnis ein Scrapy-Projekt mit dem Namen „kuwo_music“ erstellt. In diesem Projekt müssen wir einen neuen Crawler erstellen, um die Songinformationen von Kugou Music zu crawlen.

3. Erstellen Sie einen neuen Crawler

Im Scrapy-Projekt ist ein Crawler ein Programm, das zum Crawlen und Analysieren von Daten auf einer bestimmten Website verwendet wird. Führen Sie im Projektverzeichnis „kuwo_music“ den folgenden Befehl aus:

scrapy genspider kuwo www.kuwo.cn 
Nach dem Login kopieren

Der obige Befehl erstellt eine Datei mit dem Namen „kuwo.py“ im Verzeichnis „kuwo_music/spiders“, bei der es sich um unseren Crawler-Programmcode handelt. Wir müssen den Crawling- und Parsing-Prozess der Website-Daten in dieser Datei definieren.

4. Website-Anfrage und Seitenanalyse

In der neuen Datei „kuwo.py“ müssen Sie zunächst die erforderlichen Module importieren:

import scrapy
from kuwo_music.items import KuwoMusicItem
from scrapy_redis.spiders import RedisSpider
from scrapy_redis import get_redis_from_settings
from scrapy.utils.project import get_project_settings
Nach dem Login kopieren

Über den obigen Code können wir verschiedene von Scrapy bereitgestellte Toolklassen verwenden Framework und Methoden sowie benutzerdefinierte Module im Projekt. Bevor wir mit dem Schreiben des Crawler-Codes fortfahren, müssen wir zunächst die Webseite analysieren, auf der sich die Songinformationen von Kugou Music befinden.

Öffnen Sie den Browser, besuchen Sie www.kuwo.cn, geben Sie den Songnamen in die Suchleiste ein und suchen Sie. Sie werden feststellen, dass die Webseite zur Suchergebnisseite springt. Auf der Suchergebnisseite können Sie relevante Informationen zu jedem Song sehen, wie Songname, Interpret, Spielzeit usw. Wir müssen eine Anfrage über Scrapy senden und die Suchergebnisseite analysieren, um detaillierte Informationen zu jedem Song zu erhalten.

Im Crawler-Code müssen wir die folgenden zwei Methoden implementieren:

def start_requests(self):
    ...
    
def parse(self, response):
    ...
Nach dem Login kopieren

Unter diesen wird die Methode start_requests() zum Senden der ersten Webseitenanforderung verwendet, und die Analysemethode parse() wird als Rückruffunktion bezeichnet ; während die parse()-Methode zum Parsen von Webseiten, zum Extrahieren von Daten und zum Verarbeiten von Antworten verwendet wird. Der spezifische Code lautet wie folgt:

class KuwoSpider(RedisSpider):
    name = 'kuwo'
    allowed_domains = ['kuwo.cn']
    redis_cli = get_redis_from_settings(get_project_settings())

    def start_requests(self):
        keywords = ['爱情', '妳太善良', '说散就散']
        # 搜索结果页面的url
        for keyword in keywords:
            url = f'http://www.kuwo.cn/search/list?key={keyword}&rformat=json&ft=music&encoding=utf8&rn=8&pn=1'
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        data = json.loads(response.text)
        # 获取搜索结果页面的每个歌曲信息
        song_list = data['data']['list']
        for song in song_list:
            music_id = song['musicrid'][6:]
            song_name = song['name']
            singer_name = song['artist']
            album_name = song['album']

            # 根据歌曲id获取歌曲详细信息
            url = f'http://www.kuwo.cn/url?format=mp3&rid=MUSIC_{music_id}&response=url&type=convert_url3&br=128kmp3&from=web&t=1639056420390&httpsStatus=1&reqId=6be77da1-4325-11ec-b08e-11263642326e'
            meta = {'song_name': song_name, 'singer_name': singer_name, 'album_name': album_name}
            yield scrapy.Request(url=url, callback=self.parse_song, meta=meta)

    def parse_song(self, response):
        item = KuwoMusicItem()
        item['song_name'] = response.meta.get('song_name')
        item['singer_name'] = response.meta.get('singer_name')
        item['album_name'] = response.meta.get('album_name')
        item['song_url'] = response.text.strip()
        yield item
Nach dem Login kopieren

Im obigen Code definieren wir zunächst die zu durchsuchenden Song-Schlüsselwörter in der Methode start_requests(), erstellen die URL jeder Song-Suchergebnisseite und senden die Anfrage. In der parse()-Methode analysieren wir die Suchergebnisseite und extrahieren relevante Informationen zu jedem Song, einschließlich Songname, Interpret, Album usw. Anschließend erstellen wir basierend auf der ID jedes Songs eine URL, um die entsprechenden Songinformationen abzurufen, und verwenden den Metadatenmechanismus (Meta) von Scrapy, um Songnamen, Sänger, Album und andere Informationen zu übertragen. Schließlich analysieren wir die Song-Informationsseite, extrahieren die Song-Wiedergabeadresse in der Methode parse_song() und geben sie an das benutzerdefinierte KuwoMusicItem-Objekt aus.

5. Datenspeicherung und -nutzung

Im obigen Code definieren wir ein benutzerdefiniertes KuwoMusicItem-Objekt, um die gecrawlten Songinformationen zu speichern. Wir können die Tool-Klasse RedisPipeline verwenden, um die gecrawlten Daten in der Redis-Datenbank zu speichern:

ITEM_PIPELINES = {
    'kuwo_music.pipelines.RedisPipeline': 300,
}
Nach dem Login kopieren

Gleichzeitig können wir auch die Tool-Klasse JsonLinesItemExporter verwenden, um die Daten in einer lokalen CSV-Datei zu speichern:

from scrapy.exporters import JsonLinesItemExporter
import csv

class CsvPipeline(object):
    # 将数据存储到csv文件
    def __init__(self):
        self.file = open('kuwo_music.csv', 'w', encoding='utf-8', newline='')
        self.exporter = csv.writer(self.file)
        self.exporter.writerow(['song_name', 'singer_name', 'album_name', 'song_url'])

    def close_spider(self, spider):
        self.file.close()

    def process_item(self, item, spider):
        self.exporter.writerow([item['song_name'], item['singer_name'], item['album_name'], item['song_url']])
        return item
Nach dem Login kopieren

Führen Sie sie schließlich aus In der Befehlszeile kann der folgende Befehl den Scrapy-Crawler starten:

scrapy crawl kuwo
Nach dem Login kopieren

Das Obige ist eine detaillierte Einführung in die Verwendung des Scrapy-Frameworks zum Crawlen der Songinformationen von Kugou Music.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Scrapy Kugou Music-Songs crawlen?. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Anweisungen zur automatischen Verlängerung und Kündigung der Kugou Music APP-Mitgliedschaft Anweisungen zur automatischen Verlängerung und Kündigung der Kugou Music APP-Mitgliedschaft Mar 19, 2024 pm 07:28 PM

Wie kann ich die automatische Verlängerung der Mitgliedschaft in der Kugou Music APP abbrechen? Es gibt viele Benutzer, die sich für den automatischen VIP-Verlängerungsdienst von Kugou Music beworben haben. Später möchten sie diesen Dienst kündigen, wissen aber nicht, wo sie ihn kündigen können -Erneuerung von Kugou Music. Es ist ganz einfach, die automatische Verlängerung in der Kugou Music APP abzubrechen: Gehen Sie einfach ins Mitgliedercenter, suchen Sie nach der Option „Musikpaket/Luxus-VIP“, wählen Sie „Automatische Verlängerung aktiviert“ und klicken Sie dann, um die Verlängerung zu schließen. 2. WeChat: Gehen Sie wie im Bild unten gezeigt zur Zahlungsseite, klicken Sie auf die drei Punkte in der oberen rechten Ecke, wählen Sie den Abzugsdienst aus und klicken Sie auf Kugou Music, um den Dienst zu schließen. 3. Alipay: Gehen Sie zur Einstellungsseite. Wählen Sie Zahlungseinstellungen und wählen Sie passwortfreie Zahlung/Gebühren automatisch abziehen und wählen Sie schließlich Kugou Music, um den Vertrag zu kündigen.

So schalten Sie Viper Panoramic Sound in Kugou Music aus. Schritte zum Ausschalten von Viper Panoramic Sound. So schalten Sie Viper Panoramic Sound in Kugou Music aus. Schritte zum Ausschalten von Viper Panoramic Sound. Mar 12, 2024 pm 03:00 PM

Die Kugou Music App-Software bietet eine große Anzahl offiziell autorisierter Musiklieder. Sie können sie jederzeit und überall kostenlos anhören und die wunderschönen Lieder hallen in Ihren Ohren wider. Es unterstützt Online-Downloads für Mobiltelefonbenutzer verschiedener Systeme. Sie können sich anmelden, indem Sie Ihr Konto und Ihr Passwort eingeben. Sie können sie auch durch Eingabe des Songtitels finden Verschiedene Soundeffektmodi sorgen für eine noch intensivere Höratmosphäre. Sie können den Panorama-Viper-Soundeffekt auch ausschalten und den Hörmodus in anderen Situationen frei erleben, exklusive Musikwiedergabelisten anpassen und erstellen, Musiklinks online teilen und vieles mehr Lassen Sie Ihre Stimmung los. Jetzt stellt der Editor den Kugou Music-Benutzern online Details zur Verfügung. Schritte zum Ausschalten von Viper Atmos. 1. Öffnen Sie Kugou Music und betreten Sie den Hauptbereich von Kugou Music

Einfache Schritte zum Hochladen Ihrer eigenen Musik auf Kugou Einfache Schritte zum Hochladen Ihrer eigenen Musik auf Kugou Mar 25, 2024 pm 10:56 PM

1. Öffnen Sie Kugou Music und klicken Sie auf Ihr Profilbild. 2. Klicken Sie auf das Symbolset in der oberen rechten Ecke. 3. Klicken Sie auf [Musikwerke hochladen]. 4. Klicken Sie auf [Werke hochladen]. 5. Wählen Sie das Lied aus und klicken Sie auf [Weiter]. 6. Klicken Sie abschließend auf [Hochladen].

Kugou Music kann sich auf mehreren Geräten anmelden Kugou Music kann sich auf mehreren Geräten anmelden Apr 08, 2024 pm 05:15 PM

1. Ein Kugou Music-Mitgliedskonto kann auf bis zu [fünf Geräten] verwendet werden, einschließlich Mobiltelefonen, Computern, Tablets usw. 2. Das gleiche Konto kann jedoch nur auf [zwei Geräten] gleichzeitig innerhalb desselben Zeitraums verwendet werden. 3. Wenn sich gleichzeitig ein drittes Gerät anmeldet, meldet sich das erste Gerät automatisch ab.

So kündigen Sie die automatische Verlängerung von Kugou Music So kündigen Sie die automatische Verlängerung von Kugou Music Mar 25, 2024 pm 04:33 PM

1. Öffnen Sie die Kugou Music-App, klicken Sie auf [Mein], wählen Sie [Mitgliedercenter] und rufen Sie die Benutzeroberfläche des Mitgliedercenters auf. 2. Klicken Sie unten in der Benutzeroberfläche auf [Mitgliedseinstellungen] und deaktivieren Sie den Schalter [Automatische Verlängerung]. 3. Klicken Sie im Popup-Fenster auf die Schaltfläche [OK], um zu bestätigen, dass die automatische Verlängerung deaktiviert ist. 4. Zu diesem Zeitpunkt hat der Benutzer die automatische Mitgliedschaftsverlängerungsfunktion von Kugou Music erfolgreich deaktiviert.

So legen Sie den Download-Pfad für Kugou Music fest So legen Sie den Download-Pfad für Kugou Music fest Apr 07, 2024 pm 06:30 PM

Kugou Music ist eine beliebte Musik-Player-Software und auch die Song-Download-Funktion erfreut sich bei Nutzern großer Beliebtheit. Wenn jedoch Caching erforderlich ist, wissen viele Benutzer möglicherweise nicht, wie sie das Download-Verzeichnis für Songs festlegen, was es schwierig macht, heruntergeladene Musikdateien zu verwalten und zu finden. Wie kann man also den Download-Speicherort in Kugou Music ändern? Die folgende Anleitung bietet Ihnen eine detaillierte Einführung in die Schritte zum Ändern des Cache-Speicherorts. Ich hoffe, dass sie denjenigen helfen kann, die es noch nicht wissen. So legen Sie den Download-Pfad für Kugou Music fest: 1. Öffnen Sie die Kugou Music-App und klicken Sie unten rechts auf „Mein“. 2. Klicken Sie auf das Symbol mit den drei horizontalen Linien in der oberen rechten Ecke. 3. Klicken Sie auf das Song-Download-Verzeichnis und geben Sie die Einstellungen ein.

Kostenlose Software zum Musikhören auf Ihrem Computer Kostenlose Software zum Musikhören auf Ihrem Computer Apr 03, 2024 pm 01:04 PM

Gibt es eine Musiksoftware, die alle Songs kostenlos abspielen kann? Mit einer Song-Listening-Software können Sie alle Songs kostenlos auf Kugou Music, QQ Music, NetEase Cloud Music, Migu Music und Kuwo Music anhören. „Kugou Music“: Als eine der ersten Musiksoftwares bietet Kugou Music wirklich viele spannende Inhalte. Egal welche Art von Titeln Sie hören möchten, Musik hören ist eine gute Möglichkeit, sich zu entspannen. Die Software „KuWo Music“ enthält eine relativ große Anzahl von Titeln einiger sehr beliebter Musikprogramme. Alle Downloads sind sehr garantiert und erfreuen sich im Laufe der Jahre großer Beliebtheit. „Love Music“ ist eine sehr praktische kostenlose Musik-Hörsoftware. Hier gibt es eine breite Palette an Original-Songs, die Benutzer nach ihren Vorlieben frei durchsuchen können

So laden Sie Kugou Music auf Ihren lokalen Computer herunter. Anleitung zum Herunterladen von Kugou Music auf Ihren lokalen Computer. So laden Sie Kugou Music auf Ihren lokalen Computer herunter. Anleitung zum Herunterladen von Kugou Music auf Ihren lokalen Computer. Mar 28, 2024 pm 01:20 PM

Kugou-Musik kann uns helfen, Langeweile in unserem täglichen Leben zu lindern, insbesondere einige Lieder in Film- und Fernsehsendungen. Solange wir danach suchen, werden sie auftauchen und jeder kann sie hören. Wie laden wir die Songs herunter, die wir gerne lokal hören? Viele Freunde wissen es nicht, deshalb hat der Herausgeber für diejenigen, die interessiert sind, einfach eine Anleitung zum Herunterladen von Songs auf den lokalen Computer zusammengestellt Ich hoffe, dass es für alle hilfreich sein wird. Anleitung zum Herunterladen von Kugou Music auf lokal 1. Öffnen Sie zunächst Kugou Music und klicken Sie auf der Kugou Music-Seite auf die Musik, die Sie herunterladen möchten. 2. Rufen Sie dann die Seite dieser Musik auf und klicken Sie unten auf das [Drei-Punkte-Symbol]. 3. Nach dem Klicken

See all articles