DoorDash Scraper - transformer une liste de livraison en lignes structurées
DoorDash est l'une des plus grandes places de marché de livraison de repas aux États-Unis, et pour un très grand nombre de restaurants elle est devenue la vitrine qui compte le plus. Sa page de liste répond à une question précise - quels restaurants livrent à cette adresse - et y répond par un mur de fiches, chacune portant un nom, une note en étoiles, un nombre d'avis, une fenêtre de livraison estimée, des frais de livraison et une distance. Cette conception convient parfaitement à une personne affamée qui choisit son dîner. Elle convient mal à quiconque pose une question sur le marché plutôt que sur un repas : combien de concurrents atteignent ce code postal, comment ils se notent les uns par rapport aux autres, quels frais de livraison ont cours dans cette rue, quels restaurants sont apparus ce mois-ci et lesquels se sont tus. Le DoorDash Scraper y répond en transformant la liste en tableau : une ligne par restaurant, neuf colonnes, exportées en CSV, JSON ou Excel.
La chose la plus importante à comprendre au sujet de ces données est qu'une liste DoorDash est générée pour une adresse de livraison. Ce n'est pas un détail, c'est tout le cadre. La distance est mesurée depuis cette adresse. La fenêtre de livraison est annoncée pour ce trajet. Les frais varient selon le restaurant et selon son éloignement de l'endroit où vous avez demandé la livraison. Même la composition de la liste dépend de l'adresse : déplacez-vous de quelques kilomètres et des restaurants sortent tandis que d'autres entrent. L'export comporte donc une colonne implicite absente du fichier, et la discipline qui rend ces données fiables consiste à la remettre - une adresse par fichier, ou l'adresse stockée à côté de l'exécution. Fusionnez deux adresses sans ce marqueur et vous obtenez un tableau où la même colonne signifie des choses différentes selon les lignes, sans que rien dans les données ne vous avertisse.
Deux autres propriétés méritent d'être anticipées. La note d'un restaurant est une Lifetime Rating sur une échelle de 1 à 5, et DoorDash dit clairement que le calcul exact n'est pas divulgué et qu'il pondère les retours récents ; ce n'est pas la moyenne arithmétique des avis comptés à côté, et elle ne se réconciliera pas avec eux. Utilisez le nombre d'avis comme poids de confiance et taille d'échantillon plutôt que comme dénominateur d'une moyenne que vous pourriez reconstruire. Et les frais de livraison sont le montant annoncé à un visiteur sans abonnement : les membres DashPass ne paient aucuns frais de livraison sur les commandes éligibles atteignant un sous-total minimum, et ces minimums varient eux-mêmes selon le restaurant, la ville et l'heure. Les deux chiffres sont réels et utiles. Les deux décrivent un spectateur précis en un lieu précis à un moment précis, et dire lequel fait la différence entre une analyse qui tient et une qui, discrètement, ne tient pas.
Une note honnête sur les preuves qui sous-tendent cette page. Chaque affirmation ci-dessus est soit le schéma déclaré de l'export - les neuf noms de colonnes, identiques dans nos deux exécutions locales - soit une propriété documentée de DoorDash, tirée du centre d'aide et de la documentation commerçants de DoorDash. Il n'y a ici aucun résultat de collecte, car nous n'en avons aucun : nos deux exécutions ont été lancées contre une URL de substitution plutôt que contre une vraie liste DoorDash et n'ont rien renvoyé, et le service est répertorié en interne comme nécessitant un proxy résidentiel. Cette page ne cite donc aucun nombre de restaurants, aucune note, aucuns frais et aucun délai de livraison, et aucun ne sera ajouté sans qu'un export réel les étaye. Ce que la page décrit - à quoi sert chaque colonne, et ce que DoorDash place à cet endroit - est exact. Commencez gratuitement : vos 500 premières lignes ne coûtent rien et ne nécessitent pas de carte bancaire.