Comparateur de reprise de jeu.

Floki - Modifié le 28 mars 2024 à 15:58
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 2 avril 2024 à 11:37

Bonjour,

Je viens vers vous car j'ai un petit soucis. Je m'étais fixé pour objectif de créer un petit code qui m'affiche une interface comportant une barre de recherche et un bouton Rechercher. Lorsque j'appuie sur rechercher il m'ouvre les pages de 4 magasins qui font des reprises de jeux, et doit pré-remplir le formulaire de la page pour directement m'afficher le bon jeu.

Or avec micromania et easycash je n'arrive vraiment pas a lancer la recherche ni même à préremplir la barre de recherche du site. Si quelqu'un peut m'éclairer sur le sujet. Je laisse le code en dessous : 

import webbrowser
import tkinter as tk

def rechercher(code):
    url_micromania = f"https://www.micromania.fr/reprise-occasion"
    url_momox = f"https://www.momox.fr/offer/{code}"
    url_easycash = f"https://prix.easycash.fr/vendre/Jeux%20Vid%C3%A9o"
    url_gamecash = f"https://www.gamecash.fr/recherche.html?searchTxt=%7Bcode%7D&h=1&searchMode=estimation"
    
    webbrowser.open(url_micromania)
    webbrowser.open(url_momox)
    webbrowser.open(url_easycash)
    webbrowser.open(url_gamecash)

def lancer_recherche():
    code = entry.get()
    rechercher(code)

root = tk.Tk()
root.geometry("500x100")

label = tk.Label(root, text="Code Barre:")
label.pack()

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Rechercher", command=lancer_recherche)
button.pack()

root.mainloop()


Windows / Chrome 123.0.0.0

A voir également:

2 réponses

Bonjour.

Rien à voir avec la programmation, mais avec les url correctes permettant de faire une recherche.

Pour micromania, ce serait :

https://www.micromania.fr/on/demandware.store/Sites-Micromania-Site/default/Search-Show?q=%25s

Et easycash :

https://prix.easycash.fr/catalog/search?q=%25s

NB: Hum, ccm modifies %s en %25s

0

Ah oui parfait pour easy cash mais pour micromania ça m’envoie sur la page de vente de jeux or j’aurais aimé avoir le pris de reprise d’un jeu à partir de son code barre. 

Mais merci déjà :)

0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
28 mars 2024 à 16:10

Bonjour,

Comme dit plus haut J'ai l'impression que le problème vient principalement de tes URLs. Quelques exemples en cherchant dune

https://www.micromania.fr/on/demandware.store/Sites-Micromania-Site/default/Search-Show?q=dune (note qu'ici MicroMania ne vend pas les jeux Dune, sans doute trop vieux)

https://www.momox.fr/offer/dune (note qu'ici il faudrait passer un ISBN)

https://prix.easycash.fr/catalog/search?filterType=searchResults&q=dune&facets=0

https://www.gamecash.fr/recherche.html?searchTxt=dune
 

Il suffit donc dans ton code de créer dynamiquement ton URL en fonction de la valeur saisie dans la barre de recherche de ton interface tkinter.

Par exemple :

def gamecash_url(recherche: str) -> str:
    return f"https://www.gamecash.fr/recherche.html?searchTxt=%7Brecherche%7D"

print(gamecash_url("dune"))  # Affiche 'https://www.gamecash.fr/recherche.html?searchTxt=dune'

Bonne chance

0

Bonsoir, merci pour ta réponse plus que pertinente et c’est vrai que j’ai pas forcément pensé à cela donc merci :). 

Juste pareil qu’avant tous les liens fonctionnent comme je le souhaite mais sur Micromania cela ne m’affiche que le prix de vente du jeux et non pas le prix de reprise or c’est ce que je recherche. 

Bonne soirée 

0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749 > Floki
2 avril 2024 à 11:37

Bonjour,

Essaye de faire "à la main" la requête de tes souhaits dans ton navigateur. Puis récupère l'URL dans de ton navigateur et injecte là dans une fonction python comme je l'ai fait dans mon message précédent.

  • Si tu ne parviens pas à construire une telle URL.
  • Si tu n'obtiens pas le même résultat que dans ton navigateur, il faudra faire du selenium puis piloter le navigateur de selenium de sorte à reproduire ce que tu as à fait à la main.

Bonne chance

0