传智播客Python资料和视频最新全套汇总,Python使

2019-10-14 17:24 来源:未知

传智播客Python资料和视频最新全套汇总资料,还有比较全面的电子书可以免费领取。

1、在使用requests发送请求,响应数据转成json提示,没有可解码的json

在python开发过程中,经常会使用第三方包,或者内置的包。

澳门金莎娱乐网站 1

解决办法:

那么这些包,具体有哪些选项,有哪些方法,你知道吗?下面介绍一种万能方法。

澳门金莎娱乐网站 2

澳门金莎娱乐网站,这是由于,发送请求的数据,存在错误,响应出错比如404 400,所以找不到可以解码的json

 

澳门金莎娱乐网站 3

示例如下:

使用命令:<注意,命令里python显示的API版本是根据这个来的,如果要查看不同版本的,请在这里区别>

澳门金莎娱乐网站 4

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
response = Session().post(url,data=postdata)
print(response.json())
python -m pydoc -p 8000

需要资料的同学可以联系微信,yhaiyan00 免费领取,备注豆瓣

其实从图上很明显能看出问题,因为postdata是字符串类型,不是dict字典

你会看到这样的界面:

为了更方便大家学习,整理一套学习路线图,分享下~

如上图代码如果执行报如下错误:

澳门金莎娱乐网站 5

澳门金莎娱乐网站 6

澳门金莎娱乐网站 7

 

解决办法,eval()函数将字符串,转换成字典;如下所示

接下来访问以上这个地址:

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=eval(postdata))
print(request.json())

澳门金莎娱乐网站 8

有人可能会说,你这不是多此一举吗?把postdata直接定义成字典不就行了;你说的没错确实可以这样

 

postdata = {'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=postdata)
print(request.json())

可以看到,所有的安装包,API信息都显示在这个界面,我们找一个试试,selenium吧

但是如果以下这串数据,存储在数据库中,或者excel中,读出来的时候默认就是字符串,如果读出来直接使用就会出现本文的错误,

澳门金莎娱乐网站 9

所以哪里错了这个要知道,这是一个小细节;调试输出,发现输出跟以下是一样的,

澳门金莎娱乐网站 10

没有错呀这是字典呢{'xxxx':'xxx'..........},但是它就是字符串。容易被忽略,所以还要使用eval(postdata)函数转成字典

 

TAG标签:
版权声明:本文由澳门金莎娱乐网站发布于澳门金莎唯一指定官网,转载请注明出处:传智播客Python资料和视频最新全套汇总,Python使