Bonjour,
Ma question est d'ordre général et je ne sais pas trop où la poser.

Sur certains sites on a l'impression que la page s'allonge au fur et à mesure qu'on descend l'ascenseur (scrolled).
En réalité on affiche d'autres pages, par exemple :
https://www.carrefour.fr/promotions?
https://www.carrefour.fr/promotions?noRedirect=1&page=1
https://www.carrefour.fr/promotions?noRedirect=1&page=2

En procédant à tâtons le nombre maxi de page est 47
https://www.carrefour.fr/promotions?noRedirect=1&page=48
ne donnant plus de réponse.

Question 1 :
Y a-t-il un moyen de connaître le nombre maxi de pages, dans le code source de la première page ou ailleurs...

Question 2 :
Je voudrais savoir s'il y a une promo sur un produit "DISNEY" sans me peler toutes les pages :
https://www.carrefour.fr/promotions?noRedirect=1&page=24
Est-ce possible ?
Existerait-il déjà un outil ... avant que je me lance dans une usine à gaz ?

Par <Ctrl-F> dans le code source de la page 24 je trouve bien :
<span>DISNEY</span>

https://www.carrefour.fr/p/doudou-marionnette-minnie-disney-5413538765979

...

D'avance merci Smiley cligne
Modifié par dmganges (03 Oct 2019 - 04:59)
Bonjour,

j'ai pas regardé le site en question mais si c'est chargé via ajax ça se passe côté serveur donc tu n'as pas de moyen de connaître le nombre de page ni de savoir ce que contiennent les pages a l'avance.
Merci pour ta réponse bacasable !

Donc je m'orientais vers un parsing de la page en Perl.
Mais pour le moment :
Autant je peux faire un get de https://forum.alsacreations.com/
Autant je me fais jeter sur https://www.carrefour.fr/

use utf8;
use WWW::Mechanize;										    # Accès à un site Web
use Encode;																# Pour encoder en iso-8859-16
use HTML::StripTags qw(strip_tags);				# Pour supprimer toutes les balises

my $Site = WWW::Mechanize->new();
my $Html = $Site->get('https://www.carrefour.fr/')->decoded_content();

#my $Html = $Site->get('https://forum.alsacreations.com/forum.php')->decoded_content();

$Html = encode("iso-8859-16",$Html);

print "HTML=$Html=\n";


E:\_APPLI\PageInternet>perl Carrefour_2.pl
Error GETing  https://www.carrefour.fr/:  Forbidden at Carrefour_2.pl line 10.


A suivre ...
Modifié par dmganges (29 Sep 2019 - 13:15)
Bonjour,
Merci pour ta réponse Jean-Pierre-Bruneau,

Pour Q1, le nombre de page n'est pas primordial, je peux boucler en incrémentant
...1&page=XX

J'utilise beaucoup google, mais je suis fainéant et j'aime bien automatiser ce qui peut l'être.
Je le fais par exemple pour savoir s'il y a de nouvelles questions sur des forums qui contiennent des dizaines de sous-forums dont seulement quelques uns m'intéressent :
https://www.developpez.net/forums/
C'est effectivement pas sorcier !

Mais là sur Carrefour.fr, bien que je me fasse passer pour mon Firefox :
$url = 'https://www.carrefour.fr/';
my $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:69.0) Gecko/20100101 Firefox/69.0', ssl_opts => {verify_hostname => 1 });
my $res = $ua->request(HTTP::Request->new(GET => $url));
my $titre = $res->title;
print "Titre : $titre \n";


Je me fais jeter :
E:\_APPLI\PageInternet>perl Carrefour_2.pl
Titre : You have been blocked


Alors en grattant sur google j'ai trouvé que carrefour prend des précautions ! ? ... Smiley fache :

# Adsbot Instructions
User-agent: AdsBot-Google-Mobile
User-agent: AdsBot-Google
User-agent: AdIdxBot
Allow: /set-store
Allow: /get-store

# All Bots Instructions
User-agent: *

# Disallow Instructions for All Bots
Disallow: /set-store
Disallow: /get-store
Disallow: /webview

# Noindex Instructions for All Bots
Noindex: /set-store
Noindex: /get-store
Noindex: /webview


https://www.e-leclerc.pt/ lui est moins avare, il ne désalloue pas et me renvoie bien le titre de sa page :
Titre : Hypermarchés E.Leclerc

Smiley cligne

User-agent: *
Sitemap:  https://www.e-leclerc.pt/sitemap/sitemap.xml
 

Disallow: /area-reservada-apoio-det.php
Disallow: /area-reservada-lista-det.php
Disallow: /area-reservada-lista-rpc.php
Disallow: /area-reservada-listas.php
Disallow: /area-reservada-tickets.php
Disallow: /area-reservada.php
Disallow: /listas-compras-categorias.php
Disallow: /listas-compras-detalhe.php
Disallow: /listas-compras-email.htm
Disallow: /listas-compras-rpc.php
Disallow: /listas-compras.php
Disallow: /login.php
Disallow: /recuperar_pass.php
Disallow: /recuperar_pass_2.php
Disallow: /registo.php
Disallow: /registo.htm
Disallow: /testes.php
Disallow: /teste_folh.php

Disallow: /Connections/
Disallow: /consola/*
Disallow: /imgs/recrutamento/
Disallow: /imgs/downloads/
Disallow: /linguas/
Disallow: /sendMail/


Du coup je vais chez http://www.e-leclerc.com/ Smiley biggrin

Encore merci !
Modifié par dmganges (03 Oct 2019 - 04:10)