Webscraping - ERREUR : cannot assign to operator

Bonjour,

Je voulais tester un peu de webscrapping et j’ai cannot assign to operator :s
Dans l’idée je voulais sortir tous les noms des portails de cette page ainsi que le prix lié :

Je ne comprends pas où ça bloque :s

Merci !

Bonjour Benjamin,

Cela est dû au fait que les variables ne peuvent pas contenir le caractère -, par exemple: mm-coulissant.
Vous pouvez essayer les tirets du 8 _ à la place et cela devrait marcher :slight_smile:

Laurène.

Super merci !

J’ai voulu par la suite sortir le tout dans un fichier excel via ExcelWriter mais la colonne titre reste vide :s

from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd

page_SC = urlopen("https://www.mistermenuiserie.com/portail-coulissant-en-aluminium.html")
soup = BeautifulSoup(page_SC, 'html.parser')
noms_SC = soup.findAll(name = 'a', attrs = {'class': 'product-item-link'})
titre_SC = [] # On crée une liste vide qui contiendra tous les titres propres
for element in noms_SC:
    titre_SC.append(element.text)
titre_SC

prix = []
for element in soup.findAll('span', attrs={'class': 'price'}):
    prix.append(element.text.strip("()")) # On retire les parenthèses
    
#Création du DataFrame

mm_coulissant = pd.DataFrame(list(zip(titre_SC,prix)), columns=["Titre","Prix"])

mm_coulissant.head()

#création fichier excel 

with pd.ExcelWriter('test.xlsx') as writer:
    mm_coulissant.to_excel(writer)

Avec plaisir :slight_smile:

Il faudrait debuger le code pour savoir pourquoi cela ne marche pas.
Essayez d’itérer étape par étape et de vous concentrez sur l’étape qui est censé extraire les éléments pour les placer dans la colonne titre.