Tracker de prix Amazon en utilisant Python

Avant de partager le script de planification dans le prochain tutoriel Python, vous pouvez apprendre comment visiter les pages de produit en utilisant Asin, et trouver, récupérer et télécharger les données de prix sur Google Sheets

ImportXML de Google Sheets peut accomplir une tâche similaire à celle d’un tracker de prix de produit Python. Cependant, chaque feuille de calcul Google ne permet de faire tourner que 50 cellules d’importXML en même temps. Honnêtement, ce n’est pas suffisant si vous récupérez des données dimensionnelles différentes. Cela dit, c’est beaucoup plus facile et moins complexe. Si vous êtes intéressé, consultez mon article sur Google Sheets ImportXML.

Dans ce chapitre, je vous montrerai comment utiliser Python pour créer un tracker de prix de produit Amazon plus complet. Ce tracker peut être étendu pour mettre à jour les données automatiquement sans aucun travail manuel. Avant de partager le script de planification dans le prochain tutoriel Python, vous pouvez apprendre comment visiter les pages de produit en utilisant Asin, et trouver, récupérer et télécharger les données de prix sur Google Sheets.

Table des matières : Tracker de prix Amazon en utilisant Python

Installer les modules gspread et Oauth2Client

Gspread est une API Google Sheets Python super simple. Vous pouvez continuer à utiliser l’API Google Sheets que j’ai partagée précédemment, pour lire et écrire de nouvelles feuilles et données. Cet article utiliserait gspread, et fondamentalement, la méthodologie est similaire. Mais les méthodes et la logique sont simples

Tout d’abord, nous devons installer gspread dans votre terminal Macbook

Pip3 Install gspread

Ensuite, nous devons installer le module OauthClient mis à jour. Cela vous permet de vous connecter à l’API Google Sheet et d’activer le fichier JSON du compte de service.

Pip3 Install --upgrade oauth2client

Troisièmement, nous devons créer un projet et un compte de service Google API. Pour plus de détails, veuillez consulter l’autre article que j’ai partagé précédemment.

La définition de la portée de l’API Google Sheet est nécessaire. Comme nous devons également nous connecter au lecteur Google, il y a 3 portées pour créer un tracker de prix Amazon. Ci-dessous, je crée une variable appelée portée.

scope = ['https://www.googleapis.com/auth/spreadsheets',

'https://www.googleapis.com/auth/drive.file',

'https://www.googleapis.com/auth/drive']

Ensuite, vous téléchargez le fichier JSON après avoir créé un compte de service dans Google API. Nous allons créer une variable appelée creds et ajouter le nom du fichier JSON dans le code ci-dessous.

creds = ServiceAccountCredentials.from_json_keyfile_name('ajljou4098erqwie08234.json',scope)

Enfin, gspread est utilisé pour lire et mettre à jour les feuilles Google. Nous pouvons donc créer une variable appelée client et autoriser les crédits à cette variable.

client = gspread.authorize(creds)

Obtenir et lire l’ASIN de produit Amazon extrait

Dans le tutoriel Python 16, nous avons extrait une grande quantité d’informations sur les produits, y compris l’ASIN. Nous pouvons donc continuer à utiliser le même fichier de feuille de calcul Google avec le scraper de produits Amazon.

Première chose à faire, nous devons ouvrir le fichier de feuille de calcul Google à l’aide de la méthode open.

sh = client.open('AmazonPriceTracker')

Ensuite, nous devons sélectionner l’onglet de feuille de calcul Google qui stocke l’ASIN du produit en utilisant la méthode get_worksheet. Ici, la valeur commence à partir de 0. 0 représente le 1er onglet, puis 1, 2, et ainsi de suite.

worksheet = sh.get_worksheet(2)

En fonction de la colonne ou de la ligne dans laquelle nous avons enregistré les données ASIN, nous pouvons utiliser les méthodes de col_value ou de row_value. Pour plus de méthodes données par gspread, veuillez consulter la documentation.

values_list = worksheet.col_values(2)

Visiter la page de produit et récupérer les données de prix

Maintenant, value_list a obtenu l’ASIN de produit extrait. L’étape suivante consiste à boucler et visiter la page du produit pour récupérer les données de prix. Dans l’élément de prix, il y a des endroits qui montrent les prix du produit. Cela dépend de la mise à jour de la page Amazon. En quelque sorte, il y a 4 endroits, qui sont le prix de liste, le prix actuel, le prix de la boîte d’achat et le nouveau prix de la boîte d’achat. Ici, nous montrons le prix de liste pour l’exemple.

python tutorial

Encore une fois, comme mentionné dans le précédent tutoriel Python, Amazon interdit les requêtes et BeautifulSoup visite directement les pages. Nous devons donc tirer parti de selenium. Pour plus de détails, veuillez consulter le précédent tutoriel Python.

Chapter 16 – Amazon Product Scraper Using Selenium, BeautifulSoup, and Easy2Digital APIs

Première chose à faire, nous devons créer une boucle et utiliser selenium, BeautifulSoup pour obtenir les informations HTML de prix.

for asin in values_list:
      competitor = driver.get(f'https://www.amazon.com/dp/{asin}')
      soup = BeautifulSoup(driver.page_source, 'html.parser')
      time.sleep(5)

Ensuite, sous l’arborescence parente de la boucle asin, nous devons trouver le chemin des données de prix et créer une boucle pour cela également. Comme vous pouvez le voir, l’élément de prix de liste se trouve dans le span et la classe de priceBlockStrikePriceString a-text-strike. Écrivons donc les codes comme indiqué ci-dessous.

for price in soup:

     try:
         ListPrice = price.find('span','priceBlockStrikePriceString a-text-strike').text.replace('$','')
     except Exception as e:
         ListPrice = '0'

Rappelez-vous simplement que dans le try et le except, il est préférable de définir none en nombre, comme 0. Cela vous facilite la recherche du prix le plus bas plus tard dans le tracker de prix.

Ajouter et réinitialiser les données récupérées téléchargées sur Google Sheet

Premièrement, nous pouvons créer une valeur vide de la variable amazonSERP. Ceci est pour ajouter les informations plus tard.

Comme vous pouvez le voir, je suppose que nous collectons 4 données de prix et nous pouvons les nommer et les regrouper dans la variable de element_info. Ensuite, dans le module Pandas, nous pouvons ajouter et encadrer ces informations dans un format organisé, en utilisant les méthodes append() et dataframe().

element_info = {
"ListPrice": ListPrice,
"PagePrice": priceA,
"BuyboxPrice": priceBuybox,
"NewBuyboxPrice": NewpriceBuybox
}

amazonSERP.append(element_info)

df = pd.DataFrame(amazonSERP)

Pour les mises à jour des feuilles de calcul Google, gspread dispose d’une méthode de value_update, qui comprend 3 parties que vous pouvez brancher dans la valeur. Ce sont l’emplacement de la feuille, les paramètres et le corps pour la valeur à mettre à jour.

Comme gspread nécessite un format assigné, nous devons réinitialiser les commandes et formats actuels en utilisant la méthode reset_index() et values.tolist().

value_list2 = sh.values_update('ProductPagePricingTracker!D1', params={'valueInputOption': 'USER_ENTERED'},body=dict(values=df.T.reset_index().T.values.tolist()))

Valeur marchande du produit à jour dans le calculateur P&L

En dessous des colonnes D à G, cela montre les différentes données de prix extraites sur une page de produit Amazon. Bien sûr, nous ne vous recommandons pas de brancher ces données dans votre calculateur P&L. Vous pouvez utiliser la méthode min() pour sélectionner la plus basse. Vous pouvez donc vous référer à la plus basse par rapport à la vôtre.

python tutorial

Dans le calculateur P&L, en plus des éléments de coût fixes et variables, vous pouvez observer la valeur marchande de votre produit. Comme le prix est l’un des éléments clés affectant le taux de conversion, vous devriez y prêter attention. Les informations à jour vous aident à prendre de meilleures décisions sur les stratégies de vente et la budgétisation des enchères publicitaires numériques.

Pour la valeur marchande au détail en termes de prix, le nombre de pourcentage plus élevé représente le point de prix le plus compétitif dans l’espace de compétition. Vous pouvez configurer une mise en forme conditionnelle, afin que vous puissiez repérer immédiatement lorsque le nombre est mis en surbrillance en rouge. Cela signifie que quelque chose se passe. Par exemple, vos concurrents pourraient faire des promotions.

Script Python complet de Amazon Product Price Tracker

Si vous souhaitez avoir la version complète du script Python de Amazon Product Price Tracker, veuillez vous abonner à notre newsletter en ajoutant le message « Chapitre 17 ». Nous vous enverrons le script immédiatement dans votre boîte de réception.

Contact us

J’espère que vous avez apprécié la lecture du chapitre 17: Amazon Price Tracker, Get the Up-to-date Product Market Value Using ASIN, Oauth2Client, and Google Sheets. Si c’est le cas, veuillez nous soutenir en faisant l’une des choses répertoriées ci-dessous, car cela aide toujours notre chaîne.

  • Soutenez et faites un don à notre chaîne via PayPal (paypal.me/Easy2digital)
  • Abonnez-vous à ma chaîne et activez la cloche de notification Easy2Digital chaîne Youtube.
  • Suivez et aimez ma page Easy2Digital page Facebook Easy2Digital
  • Partagez l’article sur votre réseau social avec le hashtag #easy2digital
  • Abonnez-vous à notre bulletin hebdomadaire pour recevoir les derniers articles, vidéos et codes de réduction d’Easy2Digital
  • Abonnez-vous à notre adhésion mensuelle via Patreon pour profiter d’avantages exclusifs (www.patreon.com/louisludigital)