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
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
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!