Pratique du cadre Scrapy : exploration des données du site Web de Jianshu

WBOY
Libérer: 2023-06-22 09:36:56
original
1311 Les gens l'ont consulté

Pratique du framework Scrapy : exploration des données du site Web de Jianshu

Scrapy est un framework d'exploration Python open source qui peut être utilisé pour extraire des données du World Wide Web. Dans cet article, nous présenterons le framework Scrapy et l'utiliserons pour explorer les données des sites Web de Jianshu.

  1. Installation de Scrapy

Scrapy peut être installé à l'aide de gestionnaires de packages tels que pip ou conda. Ici, nous utilisons pip pour installer Scrapy. Entrez la commande suivante dans la ligne de commande :

pip install scrapy
Copier après la connexion

Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour vérifier si Scrapy a été installé avec succès :

scrapy version
Copier après la connexion

Si vous voyez un résultat similaire à "Scrapy x.x.x - aucun projet actif ", puis Scrapy installé avec succès.

  1. Créer un projet Scrapy

Avant de commencer à utiliser Scrapy, nous devons créer un projet Scrapy. Entrez la commande suivante sur la ligne de commande :

scrapy startproject jianshu
Copier après la connexion

Cela créera un projet Scrapy nommé "jianshu" dans le répertoire courant.

  1. Création d'un robot Scrapy

Dans Scrapy, un robot est un composant qui traite les données extraites d'un site Web. Nous utilisons Scrapy Shell pour analyser le site Web de Jianshu et créer des robots d'exploration.

Entrez la commande suivante sur la ligne de commande :

scrapy shell "https://www.jianshu.com"
Copier après la connexion

Cela lancera Scrapy Shell, où nous pourrons visualiser le code source de la page et les éléments du site Web Jianshu afin de créer des sélecteurs pour notre robot.

Par exemple, nous pouvons utiliser le sélecteur suivant pour extraire le titre de l'article :

response.css('h1.title::text').extract_first()
Copier après la connexion

Nous pouvons utiliser le sélecteur suivant pour extraire l'auteur de l'article :

response.css('a.name::text').extract_first()
Copier après la connexion

Après avoir testé le sélecteur dans Scrapy Shell, nous pouvons en créer un pour notre robot Nouveaux fichiers Python. Entrez la commande suivante dans la ligne de commande :

scrapy genspider jianshu_spider jianshu.com
Copier après la connexion

Cela créera une araignée Scrapy nommée "jianshu_spider". Nous pouvons ajouter le sélecteur que nous avons testé dans Scrapy Shell au fichier .py du robot et spécifier les données à extraire.

Par exemple, le code suivant extrait les titres et les auteurs de tous les articles sur la page d'accueil du site Web de Jianshu :

import scrapy

class JianshuSpider(scrapy.Spider):
    name = 'jianshu_spider'
    allowed_domains = ['jianshu.com']
    start_urls = ['https://www.jianshu.com/']

    def parse(self, response):
        for article in response.css('li[data-note-id]'):
            yield {
                'title': article.css('a.title::text').extract_first(),
                'author': article.css('a.name::text').extract_first(),
            }
Copier après la connexion
  1. Exécutez le robot Scrapy et affichez les résultats

Maintenant, nous exécutons le robot Scrapy en mode ligne de commande et affichez les résultats dans un JSON dans le fichier. Entrez la commande suivante sur la ligne de commande :

scrapy crawl jianshu_spider -o articles.json
Copier après la connexion

Cette commande exécutera notre robot d'exploration et enregistrera les données de sortie dans un fichier JSON appelé "articles.json".

  1. Conclusion

Dans cet article, nous avons présenté le framework Scrapy et l'avons utilisé pour récupérer les données du site Web de Jianshu. L'extraction de données à partir de sites Web est facile à l'aide du framework Scrapy, et Scrapy peut être étendu à des applications d'extraction de données à grande échelle grâce à sa concurrence et son évolutivité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal