Scraper des liens JSON
Thursday, April 07, 2022 3:41 PMQu'est-ce que JSON ?
JSON (JavaScript Object Notation) est un format léger d'échange de données en mode texte. Il est non seulement facile à lire et à écrire pour les humains, mais aussi facile à analyser et à générer pour les machines. C'est pourquoi il est largement utilisé par les sites Web pour améliorer l'efficacité de la transmission sur le réseau.
Pourquoi extraire des liens JSON ?
L'extraction des liens JSON permet une conversion plus rapide et plus sûre des données du format JSON vers un format structuré. Elle peut nous aider à
- Accélérer l'extraction des données sans avoir à charger des images ou autres
- Contourner les restrictions anti-scraping de nombreux sites web
- Gérer plus facilement le nombre de boutons et le défilement infini
Comment utiliser l'extraction JSON avec Octoparse ?
Pour démonstration, nous allons extraire des données d'une page de la liste sur Booking.com en utilisant l'extraction JSON.
Consultez l'exemple d'URL : https://jobs.booking.com/careers?location=netherlands&query=&domain=booking.com
Vous trouverez ci-dessous les trois principales étapes de cette démo.
- Inspecter la page web dans un navigateur - pour identifier l'URL contenant le fichier JSON dont nous avons besoin
- Générer par lots une liste d'URL JSON dans Octoparse - pour extraire d'une liste de liens de fichiers JSON
- Sélectionnez les données à extraire - pour obtenir les données dont nous avons besoin
1. Inspecter la page web dans un navigateur - pour identifier l'URL contenant le fichier JSON, nous devons
- Ouvrez l'URL de l'échantillon dans Chrome
- Cliquez avec le bouton droit de la souris sur la page Web et sélectionnez Inspecter pour ouvrir les DevTools
- Sélectionnez Fetch/XHR dans l'onglet Network des DevTools
- Cliquez sur l'icône d'effacement (
) pour effacer toutes les informations chargées
- Faites défiler la liste des tâches dans la colonne déroulante pour rafraîchir la page
- Vérifiez les URL rechargées en XHR pour voir si elles contiennent un fichier JSON
- Cliquez sur le nom d'une URL et vérifiez ses informations d'en-tête. Nous verrons que le content-type sous Request Headers contient json
- Passez à l'onglet Aperçu et voyez le nombre de données dont nous parlons. Nous pouvons voir que le nombre total est de 363 pour cette démo
- Descendez un peu plus bas et comparez les URLs des requêtes pour trouver un modèle
En comparant les URLs des requêtes, nous constatons que le paramètre start= dans l'URL augmente de 10 à chaque fois.
- Copiez l'URL contenant le fichier JSON (Request URL in Headers), qui est https://jobs.booking.com/api/apply/v2/jobs?domain=booking.com&start=10&num=10&location=netherlands&domain=booking.com
2. Générer par lot une liste d'URL JSON dans Octoparse - pour extraire d'une liste de liens de fichiers JSON
Ensuite, nous devons générer par lots la liste d'URL JSON dans Octoparse.
- Ouvrez Octoparse et démarrez une nouvelle tâche avancée qui génère par lots les URLs d'entrée
- Collez l'URL copiée dans la boîte de format d'URL
- Sélectionnez l'élément changeant dans l'URL et cliquez sur Ajouter un paramètre
- Réglez la valeur initiale sur 0, chaque fois sur +10, et la valeur finale sur 363, puis cliquez sur Confirmer pour enregistrer
Remarque : La valeur finale change constamment. Saisissez la valeur réelle que vous trouvez dans Chrome.
- Cliquez sur l'action Aller à la page Web et cochez la case JSON dans l'onglet Général
- Cliquez sur Appliquer pour enregistrer vos paramètres
3. Sélectionner les données à extraire - pour obtenir les données dont nous avons besoin
- Basculez l'arbre de structure et sélectionnez les éléments de page que nous voulons dans le noeud positions
- Extraire les champs de données comme le nom, l'identifiant de l'emploi, l'unité commerciale et le lieu
- Enregistrez la tâche et exécutez-la pour obtenir les données dont nous avons besoin
Voici l'exemple de sortie de données.
N'hésitez pas à laisser un message si vous avez encore des questions sur l'extraction JSON. Nous vous répondrons dès que possible.