问题描述
我使用葡萄牙语。人物看起来很奇怪。如何解决此问题?
代码:
import feedparser
import random
#Vou definir os feeds
feeds_conf = [{feedurl:http://pplware.sapo.pt/feed/,linktoourpage: http://linktopage.com/gggg/},
{feedurl:http://pplware.sapo.pt/feed/,linktoourpage:http://linktopage.com / zzzz /}]
#Vou escolher um feed ao acaso
feed_a_enviar = random.choice(feeds_conf)
d = feedparser.parse(feed_a_enviar [feedurl ])
i = range(10)
updates = []
for i in range(10):
updates.append([ url:feed_a_enviar [linktoourpage],msg:d.entries [i] .summary +,}])
打印更新
输出:
[[{'url':'http://linktopage.com/zzzz/','msg':u'\\\…depois de instalar o sistema operativo? Apesar de ainda n \ xe3o ser a vers\xe3o final(segundo o calend\xe1rio,est\xe1 hoje dispon\xedvel a vers\xe3o Beta),o Ubuntu 11.04 Natty Narwhal tem demonstrado ser um sistema operativo r \ xe1pido,seguro e est \xe1vel segundo os testes que j \xe1 efectuamos。 [...]< div style =text-align:center;>< img alt =srcmsgctxt@info:whatsthis =http://pplware.sapo.pt/wp-content/uploads/2011/03/ubuntu_natty_thumb.jpg/>< / div> ;,'}],[{'url':'http:// linktopage.com/zzzz/','msg':u'A Google anunciou hoje que passou a permitir aos utilizadores partilharem recomenda\xe7\xf5es com os outros utilizadores nos resultados de pesquisa do Google。 O objectivo \ xe9 disponibilizar a cada utilizador os resultados mais relevantes,o mais r\xe1pido poss\xedvel mas,\xe0 semelhan\xe7a das palavras nas p \xe1ginas de Internet,a relev \xe2ncia assenta tamb \ xe9m nas rela\xe7\xf5es。 Recentemente,a Google [...]< div style =text-align:center;>< img alt =src =http://pplware.sapo.pt/wp-content/uploads/ 2011/03 / mais_1_2.jpg/>< / div> ;,'}],[{'url':'http://linktopage.com/zzzz/','msg':u'O Mac OS X tem uma particularidade que me agrada bastante:mostra ser um sistema operativo simples e at\xe9 despido de fun\xe7\xf5es,mas na verdade tem ferramentas que permitem nalguns cliques chegar a tudo o que precisamos。 Um dos exemplos claros \xe9 o Automator。 Seja l \xe1 o que for que pretende fazer neste sistema operativo,[...]< div style =text-align:center;>< img alt =src =http:// pplware .sapo.pt / wp-content / images2011 / imagem_desktoday01_small.jpg/>< / div> ;,'}],[{'url':'http://linktopage.com/zzzz/','msg' :u'Este artigo foi escrito pelo leitor Diogo Oliveira para o Pplware a barra de ferramentas do Windows Media Player n \xe3o \xe9 nada mais nada menos do que aquele mini-player que ficava alojado na barra de tarefas e que permite o CONTRAC DAS m \xfasicas em reproduction \xe7 \xe3o。 [...]< div style =text-align:center;>< img alt =src =http:// pplware.sapo.pt/wp-content/uploads/2011/03/wmp_12_1.jpg/>< / div>,'}],[{'url':'http://linktopage.com/zzzz/ ','msg':u'Nesta semana cinematogr \xe1fica,o destaque vai para a estreia de&#8220; Sucker Punch \\\– Mundo Surreal&#8221; uma fantasia \xe9pica de ac \xe7 \\ \\ xe3o que nos apresenta a imagina\xe7\xe3o f \xe9rtil de uma jovem,cujos sonhos s\xe3o a \xfanica sa \xedda para sua dif'\\xedcil realidade num hosp\xedcio。 [...]< div style =text-align:center;>< img alt =src =http://pplware.sapo.pt/wp-content/images2011/cinema117/imagem_cinema117_01.jpg/>< / div> ;,'}],[{'url':'http: //linktopage.com/zzzz/','msg':u'Por Carlos Rodrigues e Jos \xe9 Afonso para o PPLWARE O Processing \xe9 uma linguagem baseada em Java que existe desde 2001 e \xe9 bastante utilizada por artistas gr \xe1ficos。 Inicialmente utilizada para auxiliar no ensino do b \xe1sico da programa \xe7 \xe3o,rapidamente cresceu,suportando diversas plataformas(Windows,Mac Os X,Linux)e permitindo desenvolver aplica\xe7 \xf5es de forma muito [。 ..]< div style =text-align:center;>< img alt =src =http://pplware.sapo.pt/wp-content/uploads/2011/03/mobile_00_thumb。 jpg/>< / div> ;,'}],[{'url':'http://linktopage.com/zzzz/','msg':u'Por SamC para o PPLWARE.COM As tags ou metadados)contribu \xedram para que a experi \ xeancia de utiliza \xe7 \xe3o aumentasse bastante para quem utilizava formatos de m \xfasica digital como o MP3。 Quando apareceram os primeiros leitores de MP3 recordo que era fant \xe1stico mostrar a algu \xe9m que no ecr \xe3 conseguia visualizar algumas informa\xe7 \xf5es relativas \xe0 m \xfasica a ser reproduzida [.. 。]< div style =text-align:center;>< img alt =src =http://pplware.sapo.pt/wp-content/images2011/imagem_mptagthat01_small.jpg/> < / div> ;,'}],[{'url':'http://linktopage.com/zzzz/','msg':u'A menos de um m\xeas da disponibiliza\xe7 \ xe3o da vers\xe3o final do Ubuntu 11.04 Natty Narwhal(28 de Abril de 2011),s\xe3o muitas as novidades j \xe1 conhecidas。 Ontem,no seguimento de um artigo que li sobre a possibilidade de testar aplica\xe7\xf5es para Android sem as instalar,decidi investigar se havia o mesmo \\\sistema\\\ para o Ubuntu。 [...]< div style =text-align:center;>< img alt =src =http://pplware.sapo.pt/wp-content/uploads/2011/03/ usc_000_thumb.jpg/>< / div> ;,'}],[{'url':'http://linktopage.com/zzzz/','msg':u'Conhecer o nosso PC eo que por l \ xe1 temos instalado \ xe9 uma necessidade constante。 Ao termos esta informa\xe7 \xe3o conseguimos estar mais atentos a poss'rxedveis problemas e nessas situa \xe7 \xf5es conseguimos reagir de forma mais r \xe1pida e precisa。 [...]< div style =text-align:... center;>< img alt =src =http://pplware.sapo.pt/wp-content/uploads/2011/03/SYS-Informer_1_small.jpg/>< / div> ;, '}],[{'url':'http://linktopage.com/zzzz/','msg':u'Num passado recente o Pplware lan \xe7ou aqui um artigo sobre as Drives SSDNow V100 da Kingston。 Agora,Kingston revela que foi descoberta uma poss\xedvel falha t \xe9cnica com as essas mesmas drives SSDNow V100。 Uma pequena percentage percent destas drives tem dado origem a um erro no arranque da BIOS n \ xe3o permitindo que o computador inicie。 [...]< div style =text-align:center;>< img alt =src =http://pplware.sapo.pt/wp-content/uploads/2010/11/ Kingston-SSDNow-V + 100-e1288714523877.jpg/>< / div> ;,'}]]
$ b b
例如:
vers\xe3o
应为
versão$ b $如何获得正确的编码输出?
feedparser
/ code>是非常聪明。它已经解码输入并返回解码的unicode对象给你。
所以你不需要做任何事情。 uvers\xe3o
已经是解码的unicode对象。
您的问题是,当您打印整个列表时,您会看到列表内容的表示。这是一种方式让python显示字符串中的内容。 u'\xe3'
表示正确的 ã
unicode字符 - 这只是向你显示它的程序员的python方式;正确的字符存储在unicode对象中。将打印表示视为调试信息;
如果要显示真实字符,必须编码到输出媒体编码。
示例:
如果您在网页中显示该网页,则必须将其编码到该网页的编码。
我的终端被配置为使用utf-8作为编码,所以如果我的终端屏幕上显示, do:
print uvers\xe3o.encode('utf-8')
在我的终端上打印正确的字符。
编码到目标设备编码。来自源的编码已由feedparser解码。
巴西葡萄牙文翻译
A respostaé:depende de pra onde a suasaídaestáindo
feedparser
é muito bom。
Portantovocênãoprecisa fazer nada。 uvers\xe3o
jáéum objeto unicode decodificado。
O seu problemaéque,quandovocê imprime a lista inteira,vocêvêa representação doconteúdoda lista。 Éum jeito do python te mostrar o queestána string。 u'\xe3'
éumarepresentaçãodo caracter unicode correto ã
- Esteéo jeito do python mostrar paravocê,programador,oconteúdodo objeto unicode。 O caracter corretoestáládentro; Sugiro tratarimprimirrepresentaçõescomoinformaçõesde debug;
Sevocêquer mostrar o verdadeiro caracter,vocéprecisa encodificar o objeto usando o encoding da
Examplo:
Se estiver mostrando em umapáginada web,você编码数据库
$ usb utf-8 como编码,então是什么意思,用法和解释由查查在线词典提供,版权所有违者必究。 se eu fizer:
print uvers\xe3o.encode('utf-8')
Repare 编码 O编码feito na originem do feedjáfoi decodificado pelo feedparser
。
I'm working with Portuguese Language. The characters are looking weird. How can I fix this?
The code:
import feedparser
import random
# Vou definir os feeds
feeds_conf = [{"feedurl": "http://pplware.sapo.pt/feed/", "linktoourpage": "http://linktopage.com/gggg/"},
{"feedurl": "http://pplware.sapo.pt/feed/", "linktoourpage": "http://linktopage.com/zzzz/"}]
# Vou escolher um feed ao acaso
feed_a_enviar = random.choice(feeds_conf)
d = feedparser.parse(feed_a_enviar["feedurl"])
i = range(10)
updates = []
for i in range(10):
updates.append([{"url": feed_a_enviar["linktoourpage"], "msg": d.entries[i].summary + ", "}])
print updates
The output:
[[{'url': 'http://linktopage.com/zzzz/', 'msg': u'\u2026depois de instalar o sistema operativo? Apesar de ainda n\xe3o ser a vers\xe3o final (segundo o calend\xe1rio, est\xe1 hoje dispon\xedvel a vers\xe3o Beta), o Ubuntu 11.04 Natty Narwhal tem demonstrado ser um sistema operativo r\xe1pido, seguro e est\xe1vel segundo os testes que j\xe1 efectuamos. Com a adop\xe7\xe3o da interface Unity, parece-nos que o sistema \xe9 [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/ubuntu_natty_thumb.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'A Google anunciou hoje que passou a permitir aos utilizadores partilharem recomenda\xe7\xf5es com os outros utilizadores nos resultados de pesquisa do Google. O objectivo \xe9 disponibilizar a cada utilizador os resultados mais relevantes, o mais r\xe1pido poss\xedvel mas, \xe0 semelhan\xe7a das palavras nas p\xe1ginas de Internet, a relev\xe2ncia assenta tamb\xe9m nas rela\xe7\xf5es. Recentemente, a Google [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/mais_1_2.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'O Mac OS X tem uma particularidade que me agrada bastante: mostra ser um sistema operativo simples e at\xe9 despido de fun\xe7\xf5es, mas na verdade tem ferramentas que permitem nalguns cliques chegar a tudo o que precisamos. Um dos exemplos claros \xe9 o Automator. Seja l\xe1 o que for que pretende fazer neste sistema operativo, [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/images2011/imagem_desktoday01_small.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Este artigo foi escrito pelo leitor Diogo Oliveira para o Pplware A barra de ferramentas do Windows Media Player n\xe3o \xe9 nada mais nada menos do que aquele mini-player que ficava alojado na barra de tarefas e que permite o controlo das m\xfasicas em reprodu\xe7\xe3o. Este mini-player estava presente na vers\xe3o 11, mas foi removido [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/wmp_12_1.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Nesta semana cinematogr\xe1fica, o destaque vai para a estreia de “Sucker Punch \u2013 Mundo Surreal”, uma fantasia \xe9pica de ac\xe7\xe3o que nos apresenta a imagina\xe7\xe3o f\xe9rtil de uma jovem, cujos sonhos s\xe3o a \xfanica sa\xedda para sua dif\xedcil realidade num hosp\xedcio. Destaque ainda para a estreia do thriller de terror “Perigo \xe0 Espreita”, com Jeffrey [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/images2011/cinema117/imagem_cinema117_01.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Por Carlos Rodrigues e Jos\xe9 Afonso para o PPLWARE O Processing \xe9 uma linguagem baseada em Java que existe desde 2001 e \xe9 bastante utilizada por artistas gr\xe1ficos. Inicialmente utilizada para auxiliar no ensino do b\xe1sico da programa\xe7\xe3o, rapidamente cresceu, suportando diversas plataformas (Windows, Mac Os X, Linux) e permitindo desenvolver aplica\xe7\xf5es de forma muito [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/mobile_00_thumb.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Por SamC para o PPLWARE.COM As tags (ou metadados) contribu\xedram para que a experi\xeancia de utiliza\xe7\xe3o aumentasse bastante para quem utilizava formatos de m\xfasica digital como o MP3. Quando apareceram os primeiros leitores de MP3 recordo que era fant\xe1stico mostrar a algu\xe9m que no ecr\xe3 conseguia visualizar algumas informa\xe7\xf5es relativas \xe0 m\xfasica a ser reproduzida [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/images2011/imagem_mptagthat01_small.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'A menos de um m\xeas da disponibiliza\xe7\xe3o da vers\xe3o final do Ubuntu 11.04 Natty Narwhal (28 de Abril de 2011), s\xe3o muitas as novidades j\xe1 conhecidas. Ontem, no seguimento de um artigo que li sobre a possibilidade de testar aplica\xe7\xf5es para Android sem as instalar, decidi investigar se havia o mesmo \u201csistema\u201d para o Ubuntu. [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/usc_000_thumb.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Conhecer o nosso PC e o que por l\xe1 temos instalado \xe9 uma necessidade constante. Ao termos esta informa\xe7\xe3o conseguimos estar mais atentos a poss\xedveis problemas e nessas situa\xe7\xf5es conseguimos reagir de forma mais r\xe1pida e precisa. N\xe3o \xe9 no entanto simples ter acesso a toda a informa\xe7\xe3o de forma r\xe1pida e mesmo esta est\xe1 [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/SYS-Informer_1_small.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Num passado recente o Pplware lan\xe7ou aqui um artigo sobre as Drives SSDNow V100 da Kingston. Agora, a Kingston revela que foi descoberta uma poss\xedvel falha t\xe9cnica com as essas mesmas drives SSDNow V100. Uma pequena percentagem destas drives tem dado origem a um erro no arranque da BIOS n\xe3o permitindo que o computador inicie. [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2010/11/Kingston-SSDNow-V+100-e1288714523877.jpg" /></div>, '}]]
For example, this:
"vers\xe3o"
should be
"versão"
How can I get the output in the correct encoding?
解决方案 The answer is "it depends on where your output is going to":
feedparser
is very smart. It already decodes the input and returns decoded unicode objects to you.
So you don't have to do anything. u"vers\xe3o"
is already the decoded unicode object.
Your issue is that, when you print the entire list, you get the representation of the list contents. It's a way for python to show you what's in the string. u'\xe3'
is a representation of the correct ã
unicode character - That's just the python way of showing it to you, the programmer; The correct character is stored in the unicode object. Think of "printing representations" as debugging information;
If you want to show the real character, you must encode it to the output media encoding.
Example:
If you're showing that in a webpage, you must encode it to that webpage's encoding. If you're showing that on a terminal screen, you must encode it to that terminal's encoding.
My terminal is configured to use utf-8 as encoding, so if I do:
print u"vers\xe3o".encode('utf-8')
That prints the correct character on my terminal.
Note that you must encode to the destination device encoding. The encoding from the source is already decoded by feedparser.
Brazilian Portuguese Translation
A resposta é: "depende de pra onde a sua saída está indo"
feedparser
é muito bom. Ele decodifica a entrada e retorna objetos unicode já decodificados para você.
Portanto você não precisa fazer nada. u"vers\xe3o"
já é um objeto unicode decodificado.
O seu problema é que, quando você imprime a lista inteira, você vê a representação do conteúdo da lista. É um jeito do python te mostrar o que está na string. u'\xe3'
é uma representação do caracter unicode correto ã
- Este é o jeito do python mostrar para você, programador, o conteúdo do objeto unicode. O caracter correto está lá dentro; Sugiro tratar "imprimir representações" como informações de debug;
Se você quer mostrar o verdadeiro caracter, você precisa encodificar o objeto usando o encoding da mídia em que vai mostrar o caracter.
Examplo:
Se estiver mostrando em uma página da web, você precisa encodificar o objeto para o encoding da página; Se você estiver mostrando em uma tela de terminal, você precisa encodificar o objeto para o encoding do seu terminal.
Meu terminal está configurado para usar utf-8 como encoding, então se eu fizer:
print u"vers\xe3o".encode('utf-8')
Isso vai imprimir o caracter correto no meu terminal.
Repare que você precisa encodificar para o encoding de destino. O encoding feito na origem do feed já foi decodificado pelo feedparser
.
这篇关于如何在Python中获取葡萄牙语字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
08-01 12:49