Remplir un champ de recherche et la lancer sur une page url

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Remplir un champ de recherche et la lancer sur une page url

Message par Fig »

Bonjour à tous,

Je veux récupérer des informations sur un site internet (le détail de certains articles).
Voici l'adresse: http://www.rexel.fr/frx/
Il y a une barre de recherche.
Je souhaiterais envoyer via url les informations nécessaires à lancer une recherche sur ce site et récupérer la page générée... (avec ReceiveHTTPMemory, mais pour cette partie, je sais faire...)

Je suppose qu'il y a quelque chose à faire du type url\?search="reference"
Est ce quelqu'un saurait quelles variables je dois indiquer ?

Si c'est simple, je dois faire la même chose pour ce site:
https://www.sonepar.fr/

Ou mieux encore, m'expliquer comment récupérer le nom de ces variables pour que je puisse pêcher tout seul...

Merci à vous. :wink:
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: Remplir un champ de recherche et la lancer sur une page url

Message par Marc56 »

À défaut d'API, il suffit de faire une recherche et regarder la nouvelle URL en retour, car ici la requête est envoyée par url (GET) et non pas dans le texte (POST)
Exemple pour le premier site, cela donne:

Code : Tout sélectionner

https://www.rexel.fr/frx/search/?text=<le texte entré>
Les autres paramètres ne sont pas nécessaires à la base.

Pour le deuxième site cela ne fonctionne pas car il reformate la saisie avant envoi.

Sur certains sites, regarder en bas de page s'ils proposent des API (permettant de mettre par exemple leurs résultats recherche sur un autre site)

PS. Attention, certains sites n'aiment pas qu'on "pompe" un catalogue et bloqueront les accès trop rapprochés sur des requêtes semblables (= robots)
:wink:
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: Remplir un champ de recherche et la lancer sur une page url

Message par Fig »

Merci pour ta réponse rapide...
Ca ne semble néanmoins pas fonctionner. :?
Essais avec cet article par exemple: https://www.rexel.fr/frx/search/?text=<CF150075>
Et essais avec une recherche via la barre...
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Remplir un champ de recherche et la lancer sur une page url

Message par Ollivier »

Salut fig,

déjà content de te voir.

Code : Tout sélectionner

https://www.rexel.fr/frx/search/?text=%3CCF150075
Ce site comporte une gestion anti-robot illégale. Il te faut donc illégalement neutraliser l'illégal en cherchant quelle fonction JavaScript utilise ce système anti-robot. Il te faut les pré-requis en JavaScript pour ça (éventuellement www.w3school.org pour t'auto-former gratuitement en ligne).

Mon humble avis, récupère le PHP du site www.rexel.fr qui doit contenir l'algorithme de saisie de recherche (le "search" ainsi que, les notions de sécurité qu'il souhaite récupérer et/ou stocker sur ta plate-forme (géolocalisation, etc...).
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Remplir un champ de recherche et la lancer sur une page url

Message par Ollivier »

Tu vois, tu as ce morceau-là là déjà, ça, ça signifie que tu vas consentir à ne pas pouvoir porter plainte, s'ils utilisent mal tes données personnelles (parce qu'entre "mal" et "illégal", c'est juste une question de géographie du stockage de tes données personnelles) (et de toute façon si tu portes plainte, il faudra 3000 ans de procès pour remettre correctement les pendules à l'heure)

Code : Tout sélectionner

var search_cookie = "consents=";
var consentsCookie=null;
var gdpr_cookies_name='gdpr-consent-';
if (document.cookie.length > 0)
{ 
	var start_position = document.cookie.indexOf(search_cookie); 
	if (start_position!= -1)
	{
		start_position += search_cookie.length;
		var end_position = document.cookie.indexOf(";", start_position);
		if (end_position == -1) 
			end_position = document.cookie.length;
			consentsCookie = (decodeURIComponent(document.cookie.substring(start_position, end_position)));
	}
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Remplir un champ de recherche et la lancer sur une page url

Message par Ollivier »

Je fais juste un test vite fait avec la suggest de marc56 parce que j'ai bien un texte qui s'insère dans le search...
https://www.rexel.fr/frx/search/?text=VISSEUSE
Perso il m'indique << 26 produits >> derrière le four à cookie.
Je confirme la soluce à marc56. Par contre, il te fournit un id (surement un id de session invité):

Code : Tout sélectionner

var encryptedUserBytes= "7c87af95dba744fff4e81833f729f86e44a68516d978cbaee88b559860c98cfb";
Et je pense que tu dois repréciser cet id en base64 pour éviter de te faire jeter si tu veux plus de précision sur un produit, aller en page suivante ou filtrer...

Code : Tout sélectionner

https://www.rexel.fr/frx/<<<<url du produit>>>>?gclid='''''identifiant en base 64'''''
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Remplir un champ de recherche et la lancer sur une page url

Message par Ar-S »

Pour ton site l'url a envoyer est :

Code : Tout sélectionner

https://www.rexel.fr/frx/search/?text=XXX&maxProd=X&filter=&aliasname=&categoryurl=
Pour le second site c'est plus compliqué.
Il a l'air d'envoyer une requête via jquery. Le plus important est que ce qui est soumis prends la valeur : SearchTerm
Je n'ai pas trop le temps de chercher plus avant.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre