requests库基本使用

在python中,字典的输出内容跟json格式内容一样,但是字典的格式是字典,json的格式是字符串,所以在传输的时候(特别是网页)要转换使用。

 

r.text返回的是Unicode型的数据。 
r.content返回的是bytes型的数据。 
也就是说,如果你想取文本,可以通过r.text。 
如果想取图片,文件,则可以通过r.content。 
(r.json()返回的是json格式数据)

抓取json数据后, 可以直接使用相应对象的json()方法获得json数据, 也可以使用r.text调用字符串数据传递给json获取.

r.json()
json.loads(r.text)

返回的json中文会成下面的样子,解决办法很简单

u'chuanyi': [u'\u8f83\u51b7'

解决办法:

js = r.json()
print json.dumps(js,ensure_ascii=False)

 

在编码JSON的时候,还有一些选项很有用。 如果你想获得漂亮的格式化字符串后输出,可以使用 json.dumps() 的indent参数。 它会使得输出和pprint()函数效果类似。比如:

>>> print(json.dumps(data))
{"price": 542.23, "name": "ACME", "shares": 100}
>>> print(json.dumps(data, indent=4))
{
    "price": 542.23,
    "name": "ACME",
    "shares": 100
}

encoding:把一个Python对象编码转换成Json字符串( json.dumps() )
decoding:把Json格式字符串解码转换成Python对象( json.loads() )
posted @ 2016-12-24 09:42  行知散人  阅读(339)  评论(0编辑  收藏  举报