Bonjour,
Comme tout le monde, j'ai des problèmes avec "UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 9: ordinal not in range(128)".
J'utilise PYTHON3.
J'ai très bien compris le problème mais pas comment on le règle. J'ai regardé tout StackOverFlow, la vidéo "Pragmatic Unicode, or, How do I stop the pain?"...etc. Bref malgré ça, je ne comprends absolument pas comment on règle le problème.
Et j'ai ce problème dans tous mes codes... Et je commence à... pleurer tellement je comprends rien à ce qu'il faut faire.
Aujourd'hui je souhaite m'essayer au webscrapping, sur cet URL: "http://www.paroles.net/tryo/paroles-l-hymne-de-nos-campagnes", et ajouter les paroles, dans un CSV (par exemple, ou JSON ca me va aussi).
Donc voici mon code:
Voici l'erreur que je recois du terminal:
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 from lxml import html import requests import csv filecsv='/Users/.../john.csv' page = requests.get('http://www.paroles.net/tryo/paroles-l-hymne-de-nos-campagnes') tree = html.fromstring(page.content) parole = tree.xpath('//div[@class="song-text"]/text()') with open(filecsv, 'w') as csvfile: spamwriter= csv.writer(csvfile, delimiter=',', quotechar=';') spamwriter=spamwriter.writerow([parole[1]])
Pourriez-vous me donner un coup de main? Parce que je ne comprends absolument pas quoi faire! (presque j'ai envie d'arrêter python... imaginez mon désespoir) !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Traceback (most recent call last): File "/Users/Stephane/Downloads/scrappchanson.py", line 16, in <module> spamwriter=spamwriter.writerow([parole[1]]) UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 9: ordinal not in range(128)
(me donner un coup de main pour ce code, qui est la comme exemple, mais afin que je comprennes pour les autres codes Merci)!
Partager