Bonjour à tous !
Je suis nouveau sur ce forum et j'ai commencé python il y a quelques jours en vu de faire un agrégateur personnel sur excel de notes jeux vidéos et cinéma.

Pour me faire la main je teste sur le site SensCritique.com

À partir d'un premier programme j'ai récupéré tous les noms de jeux de borne d'arcade ainsi que leur lien href, pour par la suite récupérer d'autres informations et c'est là que je bloque.
Voilà déjà ce que ça donne sur excel : Arcade [SC].xlsx

Voici comment se présente le site.
Je fais ma recherche qui me présente les différents jeux :

Jeu01 <lien href01>
Jeu02 <lien href02>
Jeu03 <lien href03>
...

Et en atteignant la page du lien je veux récupérer la note ainsi que le nombre de votants.

Pour un jeu isolé c'est facile.
En revanche ce que je n'arrive pas à faire c'est une boucle pour dire à mon programme :
- Va dans le href du jeu 01 et récupère telles informations.
- Ensuite tu fais pareil avec le href du jeu 02.
- Ensuite tu fais pareil avec le href du jeu 03.
- Et ainsi de suite jusqu'au jeu 2153.

J'utilise xlwings car je modifie en parallèle en live mon excel et je le met à jour ensuite via python. J'aime faire des aller-retour entre les deux.

Voilà ce que donne le programme actuellement fonctionnel pour un jeu. Donc sans boucle :
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
#-----STEP_01---------------------------------------------------Librairies.
import requests
from bs4 import BeautifulSoup
import xlwings as xw
 
wb = xw.Book('E:\Pythons\Arcade [SC].xlsx')
ws1 = wb.sheets['Tab1']
 
 
#-----STEP_02---------------------------------------------------URLs et nombre de jeux.
urls = ws1.range('D2:D2154').value
#---------------#
# Arcade        #
#---------------#
nbJeux = 2153
 
index = 0
 
page = requests.get(urls[index])               #Requête
soup=BeautifulSoup(page.text, "html.parser")   #Contenu
 
 
listScore = soup.findAll('span', class_="pvi-scrating-value")
listVotants = soup.findAll('b', class_="pvi-stats-number d-link-reverse")
 
 
score=listScore[0]
votants=listVotants[0]
 
news_score=[]
for s in listScore:
  news_s={}
  news_s=s.text
  news_score.append(news_s)
 
news_votants=[]
for v in listVotants:
  news_v={}
  news_v=v.text
  news_votants.append(news_v)
 
 
ws1.range('F2:F5').value = news_s
ws1.range('G2:G5').value = news_v
Merci à tous par avance pour votre éclairage car là je commence à être un peu pommé.
Bien sûr j'ai déjà testé pas mal de choses avant de faire ce post en fouillant sur le net mais je dois raté quelque chose.