Lorsque vous exécutez des tâches avec "Cloud Run", la tâche est divisée en plusieurs sous-tâches. Plusieurs sous-tâches seront exécutées dans le Cloud par plusieurs serveurs en même temps. Les données extraites des sous-tâches nous sont transférées en même temps. C'est pourquoi les données sont désordonnées.
En connaissant le principe de fonctionnement de l'extraction, nous pouvons alors résoudre le problème. Il existe deux approches pour le faire fonctionner dans l'ordre, toutes deux consistant à faire fonctionner toutes les tâches avec une sous-tâche :
1.Tâche séparable- pour exécuter toutes les tâches sous une seule IP
Cliquez sur le bouton de paramétrage en haut à droite de l'interface Octoparse.
Cochez Désactiver le split des tâches
Cliquer sur Enregistrer
Lorsque cette option est sélectionnée, la tâche n'est pas divisée en sous-tâches. Les données seront donc dans le même ordre que lors de l'exécution locale. Si vous constatez que l'ordre est toujours différent, vous pouvez essayer de définir un temps d'attente pour la fonction d'Extraire des données.
2.Configurer les ressources du Cloud à 1-pour utiliser une seule adresse IP pour exécuter toutes les tâches
Accéder au tableau de bord
Cliquez sur le bouton Plus pour ouvrir d'autres paramètres de la tâche.
Cliquez sur Exécution dans le Cloud
Choisissez Ressources en Cloud
Saisir 1 dans la boîte
Cliquez sur Enregistrer
Avec cette option, la tâche peut toujours être divisée en sous-tâches, mais Octoparse n'exécutera qu'une sous-tâche à la fois ; donc, les résultats renvoyés sont dans l'ordre.
Note : Les deux solutions ralentiront la vitesse de scraping car la vitesse du Cloud dépend du nombre de sous-tâches en cours d'exécution.