Maison >développement back-end >Tutoriel Python >Comment utiliser Scrapy pour explorer les données produits des marchands JD

Comment utiliser Scrapy pour explorer les données produits des marchands JD

PHPz
PHPzoriginal
2023-06-23 08:01:231750parcourir

Comment utiliser Scrapy pour explorer les données produits des marchands JD

Scrapy est un puissant framework de robot d'exploration Web Python qui nous permet d'écrire facilement et commodément du code pour explorer les données de pages Web. Cet article explique comment utiliser Scrapy pour explorer les données produits des marchands JD.

Préparation

Avant de commencer à écrire du code, nous devons faire quelques préparatifs.

1. Installer Scrapy

Nous devons installer Scrapy localement Si vous n'avez pas encore installé Scrapy, vous pouvez saisir la commande suivante dans la ligne de commande : #🎜🎜. #

pip install Scrapy
#🎜 🎜#2. Créez un projet Scrapy

Ouvrez le terminal et entrez la commande suivante :

scrapy startproject JDspider

Cette ligne de commande créera un projet Scrapy nommé JDspider dans le dossier actuel.

3. Créer Spider

Dans Scrapy, Spider est le composant principal pour l'exploration des données. Nous devons créer un Spider pour obtenir les données produits des marchands JD. Entrez la commande suivante dans la ligne de commande :

cd JDspider
scrapy genspider JD jd.com

Ici, nous utilisons la commande scrapy genspider pour générer un Spider nommé JD et utilisons jd.com comme URL de départ. Le code généré se trouve dans le fichier JDspider/spiders/JD.py. Nous devons maintenant modifier ce fichier pour terminer le robot.

Analyser le site Web cible

Avant d'écrire le code, nous devons d'abord analyser le site Web cible. Prenons https://mall.jd.com/index-1000000127.html comme exemple.

Ouvrez le navigateur Chrome, appuyez sur la touche F12 pour ouvrir les outils de développement, puis cliquez sur l'onglet Réseau. Après avoir entré l'URL du site Web cible, nous pouvons voir les informations de demande et de réponse du site Web cible.

De là, nous pouvons constater qu'il utilise la technologie AJAX pour charger les données de la liste de produits. Dans l'onglet XMLHttpRequest, nous pouvons voir l'URL de la requête et elle a renvoyé les données au format JSON.

Nous pouvons accéder directement à cette URL pour obtenir des informations sur le produit.

Obtenir les données produit

Nous savons maintenant comment obtenir des informations sur le produit, nous pouvons ajouter du code dans Spider pour terminer cette tâche.

Ouvrez d'abord le fichier JDspider/spiders/JD.py et trouvez la définition de la classe Spider. Nous devons modifier cette classe et définir son nom, son nom de domaine et son URL initiale.

class JdSpider(scrapy.Spider):
    name = "JD"
    allowed_domains = ["jd.com"]
    start_urls = [
        "https://pro.jd.com/mall/active/3W9j276jGAAFpgx5vds5msKg82gX/index.html"
    ]

Commencez à récupérer des données. Dans Scrapy, nous devons utiliser la méthode parse() pour obtenir les données d'une page Web. Nous utilisons le module json pour analyser les données JSON renvoyées et extraire les informations requises. Ici, nous obtenons les informations sur le titre, le prix, l’adresse et la quantité du produit.

    def parse(self, response):
        products = json.loads(response.body)['data']['productList']
        for product in products:
            title = product['name']
            price = product['pricer']
            address = product['storeName']
            count = product['totalSellCount']
            yield {
                'title': title,
                'price': price,
                'address': address,
                'count': count,
            }

Maintenant, nous avons terminé la capture des données. Nous pouvons exécuter cette araignée et afficher les résultats dans un fichier. Entrez la commande suivante dans le terminal pour démarrer l'exécution de Spider :

scrapy crawl JD -o products.json

JD est le nom du Spider que nous avons créé
  • -o est l'option de sortie ; spécifiez Où enregistrer les résultats analysés ;
  • products.json est le nom du fichier, et les résultats seront enregistrés dans ce fichier.
  • Ceci est un exemple simple qui montre simplement comment utiliser Scrapy pour explorer les données produits des marchands JD. Dans des applications pratiques, nous devrons peut-être effectuer un traitement plus complexe. Scrapy fournit de nombreux outils et modules puissants pour y parvenir.

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!

Déclaration:
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