Mir kommt das sehr bekannt vor:
UnicodeEncodeError: 'ascii' Codec kann das Zeichen u' nicht kodieren \xe8 ' an Position 24: Ordnungszahl nicht im Bereich(128)
Ich habe mir mehrere Beiträge auf SO angesehen und sie empfehlen - variable.encode('ascii', 'ignore')
Dies funktioniert jedoch nicht. Auch danach erhalte ich die gleiche Fehlermeldung ...
Der Stack-Trace:
'ascii' codec can't encode character u'\x92' in position 18: ordinal not in range(128)
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
handler.post(*groups)
File "/base/data/home/apps/autominer1/1.343038273644030157/siteinfo.py", line 2160, in post
imageAltTags.append(str(image["alt"]))
UnicodeEncodeError: 'ascii' codec can't encode character u'\x92' in position 18: ordinal not in range(128)
Der dafür zuständige Code:
siteUrl = urlfetch.fetch("http://www."+domainName, headers = { 'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5' } )
webPage = siteUrl.content.decode('utf-8', 'replace').encode('ascii', 'replace')
htmlDom = BeautifulSoup(webPage)
imageTags = htmlDom.findAll('img', { 'alt' : True } )
for image in imageTags :
if len(image["alt"]) > 3 :
imageAltTags.append(str(image["alt"]))
Für jede Hilfe wäre ich dankbar. Danke.