转自:

https://blog.csdn.net/felcon/article/details/38524317

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写,同时也易于机器解析和生成。

写爬虫程序时发现页面很多内容都是基于json传输的,而且都是unicode编码,需要读取并转换为汉字,这可以直接使用python的json包处理

python的json.dumps方法默认会输出成这种格式"\u535a\u5ba2\u56ed",。
要输出中文需要指定ensure_ascii参数为False,如下代码片段:
json.dumps({'text':"中文"},ensure_ascii=False)

json的一个简单示例为:

{ "firstName":"Bill" , "lastName":"Gates" }

其中“firstName”和”lastName“为健(key),“Bill”和“Gates”为值(value)

首先需要导入json包

import json

使用

info = json.JSONDecoder().decode(info)

可以读取json数据,同时将unicode转换为汉字

使用

info["firstName"]

来读取健”firstName"所对应的值“Bill”

比如最近爬爆米花视频,得到存储数据的是unicode的,要获取里面的list,就可以使用上面的方法

response.text =
{
"Videolist":[{"appID":"35943","appName":"逗影视频","appPic":"//p001.baomihua.com/b94ec748-abcf-4096-ba42-cc986d28ea83_61503983.png","appUrl":"//www.baomihua.com/user/35943","videoId":"38136258","videoTitle":"如今拉客都用这套路?长点心吧!贪小便宜吃大亏","videoCost":"00:22","videoPlayUrl":"//video.baomihua.com/v/38136258","videoImgUrl":"//img04.video.baomihua.com/x/38136258.jpg","companyName":"太原瑞宝达文化传媒有限公司","isRec":"0"},{"appID":"34845","appName":"娱闻壹姐","appPic":"//p001.baomihua.com/1e3abb19-64a7-4c3a-9845-da1e15cec126.jpg","appUrl":"//www.baomihua.com/user/34845","videoId":"38134456","videoTitle":"蔡徐坤微博大方表白!内容让粉丝们彻夜难眠,不愧是偶像!","videoCost":"01:07","videoPlayUrl":"//video.baomihua.com/v/38134456","videoImgUrl":"//img04.video.baomihua.com/x/38134456.jpg","companyName":"杭州匠星影视传媒有限公司","isRec":"0"},{"appID":"34923","appName":"嗨儿原创","appPic":"//p001.baomihua.com/f1613b50-a19a-4ddb-82c8-393edba276ab.jpg","appUrl":"//www.baomihua.com/user/34923","videoId":"38134104","videoTitle":"张馨予结婚嫁给了老实人,李晨没祝福!","videoCost":"04:01","videoPlayUrl":"//video.baomihua.com/v/38134104","videoImgUrl":"//img04.video.baomihua.com/x/38134104.jpg","companyName":"秦皇岛屿海文化传媒有限公司","isRec":"0"}]
} content = json.JSONDecoder().decode(response.text)
print type(content["Videolist"]) #输出: <type 'list'>

最新文章

  1. Java利用Preferences设置个人偏好
  2. 整理: Android HAL
  3. Linux operation strucutre
  4. Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)
  5. On Memory Leaks in Java and in Android.
  6. 超级MINI STLINK V2 官方固件自动升级 ST-Link 【worldsing 笔记】
  7. C++学习笔记10-面向对象
  8. 部署DNS服务
  9. [用CDQ分治解决区间加&amp;区间求和]【习作】
  10. FreeHttp1.1升级说明
  11. configure: error: no acceptable C compiler found in $PATH 问题解决
  12. js实现十分钟内在页面无任何操作,页面跳转至登陆页
  13. docker官方文档笔记
  14. Mysql经典sql语句大全
  15. SpringBoot 文件上传、下载、设置大小
  16. vue组件的hover事件模拟、给第三方组件绑定事件不生效问题
  17. cacti安装
  18. Spring系列(一):Spring的基本概念及其核心
  19. JQ 使用toggle实现DIV的隐藏和显示
  20. Dockerfile创建镜像

热门文章

  1. Ubuntu 14.04 Nvidia显卡驱动安装及设置
  2. Macaca(一) - 环境配置
  3. vue组件之间传值方式解析
  4. Python Dict用法
  5. 我应该记录一下我不太了解的一些c语言函数
  6. Sicily 1211. 商人的宣传
  7. REX系统了解1
  8. mysql备份的 三种方式【转】
  9. python使用twisted搭建的一个socket服务
  10. .net HttpCrawler