Page 1 sur 1
Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 14:10
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.

Re: Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 14:40
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:
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)

Re: Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 14:59
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...
Re: Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 15:45
par Ollivier
Salut fig,
déjà content de te voir.
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...).
Re: Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 16:20
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)));
}
Re: Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 16:41
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'''''
Re: Remplir un champ de recherche et la lancer sur une page url
Publié : dim. 24/avr./2022 20:42
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.