Je vais avoir des problèmes avec les caractères unicode à partir du texte récupérée à partir de différentes pages web sur des sites différents). Je suis à l'aide de BeautifulSoup.
Le problème est que l'erreur n'est pas toujours reproduit en qui il travaille parfois avec certaines pages, et parfois, il barfs en jetant un UnicodeEncodeError. J'ai essayé à peu près tout ce que je pense, et je n'ai pas encore trouvé quelque chose qui fonctionne toujours sans jeter un certain type de format Unicode d'erreur lié.
L'une des sections de code qui est à l'origine des problèmes est indiquée ci-dessous:
agent_telno = agent.find('div', 'agent_contact_number')
agent_telno = '' if agent_telno is None else agent_telno.contents[0]
p.agent_info = str(agent_contact + ' ' + agent_telno).strip()
Voici une trace de la pile de produit sur CERTAINES chaînes lorsque l'extrait ci-dessus est exécuté:
Traceback (most recent call last):
File "foobar.py", line 792, in <module>
p.agent_info = str(agent_contact + ' ' + agent_telno).strip()
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
Je soupçonne que c'est parce que certaines pages (ou plus précisément, les pages de certains sites) peuvent être codés, tandis que d'autres peuvent être non codée. Tous les sites sont basés au royaume-UNI et de fournir des données signifiait pour le royaume-UNI de la consommation - donc, il n'y a pas de questions relatives à l'internalisation ou de traiter avec le texte écrit dans autre chose que l'anglais.
Quelqu'un a une idée de comment résoudre ce problème afin que je puisse CONSITENTLY résoudre ce problème?