AttributeError: module 'requests' has no attribute 'json'
检查requests版本。或者是json被占用了。
主要方法
GET: 请求指定的页面信息,并返回实体主体。
HEAD: 只请求页面的首部。
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
requests.post()
requests.put()
requests.delete()
requests.head()
主要参数的使用
对于python爬虫最常用的就是get和post请求,以post请求为例:
post(url, data=None, json=None, **kwargs)
这个博主写的挺好的:
https://blog.csdn.net/qq_39262610/article/details/110004527
使用request请求会返回一个Response对象,如果请求成功的的话直接打印Response只会返回200的状态码 ,所以一般使用response.text或response.content来获取请求返回的信息。
text和content的区别
两者区别在于,content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串。
直接输出content,会发现前面存在b’这样的标志,这是字节字符串的标志,而text是,没有前面的b,对于纯ascii码,这两个可以说一模一样,对于其他的文字,需要正确编码才能正常显示。大部分情况建议使用.text,因为显示的是汉字,但有时会显示乱码,这时需要用.content.decode(‘utf-8’),中文常用utf-8和GBK,GB2312等。这样可以手工选择文字编码方式。
所以简而言之,.text是现成的字符串,.content还要编码,但是.text不是所有时候显示都正常,这是就需要用.content进行手动编码。
参考博客:
https://www.cnblogs.com/wanglingjiang/p/11542685.html
您在遇到该错误时可能正在使用Python中的requests模块。根据错误消息,看起来您尝试对requests模块返回的响应对象使用.json()方法,但是requests模块没有名为json的属性或方法。
要解决这个问题,请确保您已经正确导入了requests模块,并且对响应对象使用了适当的方法。