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() )