Bonsoir à tous. J'ai codé ceci qui m'a pris toute l'après midi (Je le mets, si un jour ça peut servir à quelqu'un). Comme expliqué dans les commentaire :
1 - On parcours une page html catégorie qui contient des liens vers chaque produit. On récupère l'Url de chaque produit.
2 - On explore le lien de chaque produit, à l'intérieur de ces produits, on récupère : La référence + Les images et on crée un csv (ref;img1,img2,imgN)


Problème : Lors du parcours d'une page catégorie, celle-ci n'affiche, par défaut, que 9 produit. Le reste est chargé en scrollant (en Ajax ou Javascript je suppose).
Comment faire fonctionne mon programme pour qu'il puisse aller récupérer ces informations chargées seulement en scrollant dans le navigateur ?

J'ai pensé à la méthode de charger manuellement les produits dans mon navigateur, copier le code source dans un fichier et l'utiliser ensuite... Mais, j'aimerai savoir s'il existe un meilleur moyen.

Bien à vous, merci.




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#! /bin/bash
 
#Fonction qui récupère toutes les URL d'images, trie les doubles et garde les plus grandes, et la référence du produit.
explore_sub_page() {
	while read line
	do 
		if echo "$line" |grep '<div class="artnr"' >/dev/null 2>&1 #Si la ligne contient cette div (marqueur unique)
			then
			read line
			line="${line%<*}" #On supprime la fin de la ligne
			echo $line
		fi
 
		if echo "$line" | grep '<img srcset="' >/dev/null 2>&1 #Si la ligne contient cette balise (marqueur unique)
			then
 
			for word in $line; #on parcourt chaque mot de line 
			do
	       		if echo "$word" | grep -E 'srcset=.*web35_1800.*jpg"' >/dev/null 2>&1 #On prend que cette ligne
					then 
						prefix="=\""
						word=${word#*"$prefix"} #on garde que l'url
						word="${word%\"*}"
						echo "$word"
	       		elif echo "$word" | grep 'class="product-slider-wrapper' >/dev/null 2>&1 #Pour éviter les doublons de la page
					then break
				fi
    		done
		fi
 
	done < <(curl -s $1) #On passe le lien de chaque produit
}
 
 
#Ici on précupère le lien de chaque produit dans une page catégorie. Cependant, CURL n'a accès qu'à 9 produits, 
# les autres produits sont chargés en AJAX...
	while read line 
	do 
		if echo "$line" |grep 'class="detailInfo"' >/dev/null 2>&1
			then
			prefix="=\""
			line=${line#*"$prefix"}
			suffix="\""
			line="${line%%"$suffix"*}"
 
			explore_sub_page $line
		fi
	done < <(curl -s $1) #On donne l'Url de la catégorie, qui est une page qui contient les liens vers les fiches produits