Qu'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.
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.