Maison > Article > développement back-end > Pratique du cadre Scrapy : exploration des données du site Web de Jianshu
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.
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
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
Si vous voyez un résultat similaire à "Scrapy x.x.x - aucun projet actif ", puis Scrapy installé avec succès.
Avant de commencer à utiliser Scrapy, nous devons créer un projet Scrapy. Entrez la commande suivante sur la ligne de commande :
scrapy startproject jianshu
Cela créera un projet Scrapy nommé "jianshu" dans le répertoire courant.
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"
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()
Nous pouvons utiliser le sélecteur suivant pour extraire l'auteur de l'article :
response.css('a.name::text').extract_first()
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
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(), }
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
Cette commande exécutera notre robot d'exploration et enregistrera les données de sortie dans un fichier JSON appelé "articles.json".
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!