baidupcsapi学习(1)

今天做了一点微小的尝试,遇到解决了一点微小的问题。

json字符串与字典的转换###

尝试调用
PCS.get_streaming(path, stype='M3U8_AUTO_480', **kwargs)
返回

requests.Response 对象
返回正确时返回的 Reponse 对象 content 中的数据结构
{
“errno”:0, “list”:[
{“fs_id”:服务器文件识别号”path”:”路径”,”server_filename”:”服务器文件名(不汗含路>径)”,”size”:文件大小,”server_mtime”:服务器修改时间,”server_ctime”:服务器创建时>间,”local_mtime”:本地修改时间,”local_ctime”:本地创建时间,”isdir”:是否是目录,”category”:类型,”md5”:”md5值”}……等等
],
“request_id”:请求识别号
}

涨姿势的地方来了。我原以为返回对象是一个字典,尝试直接用key=“info”调用对应的列表。然而返回了错误:

TypeError: string indices must be integers, not str

实际上返回的是json数据。调用json.load(Response.content)即可。
参考资料:http://www.cnblogs.com/coser/archive/2011/12/14/2287739.html
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=12014716&id=4326013

特殊字符###

在打印path目录的时候,出现了如下错误:

UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb

path原本是Unicode编码,然而在powershell中打印的时候被转换成gbk编码。方法是将其手动转换位gbk的超集。
这位仁兄的探索为我省去了至少一下午的时间。
http://www.crifan.com/unicodeencodeerror_gbk_codec_can_not_encode_character_in_position_illegal_multibyte_sequence/

踩着前人的步伐,一步一步似爪牙

暂时就想到这么多,随时补充~

你可能感兴趣的:(baidupcsapi学习(1))