Python 请求和 Unicode [英] Python Requests and Unicode

查看:44
本文介绍了Python 请求和 Unicode的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用请求库来查询 Diffbot API,以从网页 url 获取文章的内容.例如,当我访问我在浏览器中创建的请求 URL 时,它会返回一个带有 Unicode 文本的 JSON 对象(对吗?)(我稍微缩短了文本):

I am using the requests library to query the Diffbot API to get contents of an article from a web page url. When I visit a request URL that I create in my browser, it returns a JSON object with the text in Unicode (right?) for example (I shortended the text somewhat):

{"icon":"http://mexico.cnn.com/images/ico_mobile.jpg","text":"CIUDAD墨西哥 (CNNMéxico) u2014 Kassandra Guazo Cano tiene 32 años, peroeste domingo participó por primea vez en una elección. "No habíasacado mi (credencial del) IFE (Instituto Federal Electoral) porque alhacer el tramite hay mucha mofa cuando ven que tu nombre继续 otros documentos de acuerdo con su nueva identidad. Sánchez骰子 que los slicantes no son discriminados, pero la experiencia deKassanda es diferente: "hay que pagar un licenciado, dos peritos(entre ellos un endocrinólogo).Además, el juez dicta sentencia parael cambio de nombre y si no es有利的tienes que esperar otroscuatro años para volver a demandar al registro Civil". Ante estasituación, el Consejo para Prevenir y Eliminar la sculina, lostransgenero votan - 墨西哥:Voto 2012 -Nacional","url":"http://mexico.cnn.com/nacional/2012/07/02/con-apariencia-de-mujer-e-identidad-masculina-los-transexuales-votan","xpath":"/HTML[1]/BODY[1]/SECTION[5]/DIV[1]/ARTICLE[1]/DIV[1]/DIV[6]"}

{"icon":"http://mexico.cnn.com/images/ico_mobile.jpg","text":"CIUDAD DE MÉXICO (CNNMéxico) u2014 Kassandra Guazo Cano tiene 32 años, pero este domingo participó por primera vez en una elección. "No había sacado mi (credencial del) IFE (Instituto Federal Electoral) porque al hacer el trámite hay mucha mofa cuando ven que tu nombre no coincide con tu y otros documentos de acuerdo con su nueva identidad. Sánchez dice que los solicitantes no son discriminados, pero la experiencia de Kassanda es diferente: "hay que pagar un licenciado, dos peritos (entre ellos un endocrinólogo). Además, el juez dicta sentencia para el cambio de nombre y si no es favorable tienes que esperar otros cuatro años para volver a demandar al registro civil". Ante esta situación, el Consejo para Prevenir y Eliminar la sculina, los transgénero votan - México: Voto 2012 - Nacional","url":"http://mexico.cnn.com/nacional/2012/07/02/con-apariencia-de-mujer-e-identidad-masculina-los-transexuales-votan","xpath":"/HTML[1]/BODY[1]/SECTION[5]/DIV[1]/ARTICLE[1]/DIV[1]/DIV[6]"}

当我使用python请求库时:

When I use the python request library as follows:

def get_article(self, params={}):
  api_endpoint = 'http://www.diffbot.com/api/article'
  params.update({
    'token': self.dev_token,
    'format': self.output_format,
  })
  req = requests.get(api_endpoint, params=params)
  return json.loads(req.content)

它返回这个(再次注意,我稍微缩短了文本):

It returns this (again note that I shortened the text somewhat):

{u'url':u'http://mexico.cnn.com/nacional/2012/07/02/con-apariencia-de-mujer-e-identidad-masculina-los-transexuales-votan',u'text': u'CIUDAD DE Mxc9XICO (CNNMxe9xico) u2014 Kassandra GuazoCano tiene 32 axf1os, pero este domingo participxf3 porprimera vezen una eleccixf3n. "No habxeda sacado mi (credencial del) IFE(Instituto Federal Electoral) porque al hacOyuky Martxednez Colxedn,tambixe9n transgxe9nero, y que estaba acompaxf1ada de sus dos hijosy su mamxe1. Ambas trabajan como activateas en el Centro de Apoyo alas Identidades Trans, A.C., donde participan en una campaxf1a deprevencixf3n de enfermedades sexes. "Quisixe9ramos que no solonos vean como trabajadoras sexes o estilistas, sino que luchamospor nuestros derechos", 骰子 Kassandra mientras sonrxede, sostiene su选民证书 y levanta su pulgar entintado.', u'title': u'Conapariencia de mujer e identidad masculina, los transgxe9nero votan -Mxe9xico: Voto 2012 - Nacional', u'xpath':u'/HTML[1]/BODY[1]/SECTION[5]/DIV[1]/ARTICLE[1]/DIV[1]/DIV[6]',u'icon':u'http://mexico.cnn.com/images/ico_mobile.jpg'}

{u'url': u'http://mexico.cnn.com/nacional/2012/07/02/con-apariencia-de-mujer-e-identidad-masculina-los-transexuales-votan', u'text': u'CIUDAD DE Mxc9XICO (CNNMxe9xico) u2014 Kassandra Guazo Cano tiene 32 axf1os, pero este domingo participxf3 por primera vez en una eleccixf3n. "No habxeda sacado mi (credencial del) IFE (Instituto Federal Electoral) porque al hacOyuky Martxednez Colxedn, tambixe9n transgxe9nero, y que estaba acompaxf1ada de sus dos hijos y su mamxe1. Ambas trabajan como activistas en el Centro de Apoyo a las Identidades Trans, A.C., donde participan en una campaxf1a de prevencixf3n de enfermedades sexuales. "Quisixe9ramos que no solo nos vean como trabajadoras sexuales o estilistas, sino que luchamos por nuestros derechos", dice Kassandra mientras sonrxede, sostiene su credencial de elector y levanta su pulgar entintado.', u'title': u'Con apariencia de mujer e identidad masculina, los transgxe9nero votan - Mxe9xico: Voto 2012 - Nacional', u'xpath': u'/HTML[1]/BODY[1]/SECTION[5]/DIV[1]/ARTICLE[1]/DIV[1]/DIV[6]', u'icon': u'http://mexico.cnn.com/images/ico_mobile.jpg'}

我不太了解Unicode.如何确保我从请求中得到的仍然是 Unicode?

I don't quite understand Unicode. How to make sure that what I get with requests is still Unicode?

推荐答案

您可以使用 req.text 而不是 req.content 来确保获得 Unicode.方法描述于:

You can use req.text instead of req.content to ensure that you get Unicode. The methods are described in:

http://docs.python-requests.org/en/latest/api/#main-interface

这篇关于Python 请求和 Unicode的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆