鱼C论坛

 找回密码
 立即注册
查看: 3036|回复: 10

[技术交流] 调用百度的api,返回结果不显示中文

[复制链接]
发表于 2016-4-13 10:15:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近浏览到百度的api store,就尝试着用python调用百度的接口,但是返回的数据都不能显示中文,
我的代码如下:
import sys
import urllib.request
url = 'http://apis.baidu.com/apistore/mobilephoneservice/mobilephone?tel=18353131546'

req = urllib.request.Request(url)

req.add_header('apikey','【这是我的一个唯一的识别码】')

resp = urllib.request.urlopen(req)

content = resp.read().decode('utf-8')

print(content)

返回的结果应该是对的,但是就是不显示中文,结果如下所示
b'{"errNum":0,"errMsg":"success","retData":{"telString":"18353131546","province":"\\u5c71\\u4e1c","carrier":"\\u5c71\\u4e1c\\u79fb\\u52a8"}}'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-4-13 10:36:19 | 显示全部楼层
java中有这么个方法可以实现转义,python中有没有类似的方法啊

public static String convert(String s)
    {
              StringBuffer sb = new StringBuffer();
              int i=-1;
              int pos=0;
              while((i=s.indexOf("\\u",pos))!=-1)
              {
                  sb.append(s.substring(pos,i));
                  if(i+5<s.length())
                  {
                      pos=i+6;
                      sb.append((char)Integer.parseInt(s.substring(i+2,i+6),16));
                  }//if
              }//while
              sb.append(s.substring(pos));
              
             return sb.toString();
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-13 12:05:47 | 显示全部楼层
如果是python2.x,
考虑用python3.x试一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-13 13:46:01 | 显示全部楼层
~风介~ 发表于 2016-4-13 12:05
如果是python2.x,
考虑用python3.x试一下!

我现在用的就是3.5.1的版本,看网上一些帖子,大部分说的都是2.X的版本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-13 17:14:31 | 显示全部楼层
肚肚装炸弹 发表于 2016-4-13 13:46
我现在用的就是3.5.1的版本,看网上一些帖子,大部分说的都是2.X的版本

这是编码的问题, 自己搜一下解决方法吧!
http://www.guabu.com/zhuanma/
QQ拼音截图未命名.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-13 17:41:00 | 显示全部楼层
~风介~ 发表于 2016-4-13 17:14
这是编码的问题, 自己搜一下解决方法吧!
http://www.guabu.com/zhuanma/

可以告诉我一下使用什么编码方式转换的么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-13 18:51:43 | 显示全部楼层
肚肚装炸弹 发表于 2016-4-13 17:41
可以告诉我一下使用什么编码方式转换的么

应该是Unicode
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-15 09:57:03 | 显示全部楼层

还是不可以,刚刚试了一下把返回打印出来的结果手动复制粘贴形成一个新的字符串,打印这个新的字符串的时候显示的就会是中文了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-15 11:44:06 | 显示全部楼层
肚肚装炸弹 发表于 2016-4-15 09:57
还是不可以,刚刚试了一下把返回打印出来的结果手动复制粘贴形成一个新的字符串,打印这个新的字符串的时 ...

告诉你一个不是办法的办法! 写一个爬虫,把内容post到http://www.guabu.com/zhuanma/上再爬下来!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-26 10:27:35 | 显示全部楼层
好像是unicnde的原因  我是初学  感觉应该是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-26 11:14:37 | 显示全部楼层
返回的是  json
用json模块处理一下就行了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 03:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表