Python使用requests出现AttributeError: module ‘collections‘ has no attribute ‘MutableMapping‘

 我使用的IDE开发工具是PyCharm3.12.0,Python版本是3.12。

第一次学习爬虫时,从网络复制了一段代码如下:

import json
import requests
import xlwt
# 设置头部信息
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
response = requests.get(url=url, headers=headers).text
loads = json.loads(response)
dic = loads['hero']

通过PyCharm的setting安装了相应的json,requests,xlwt,安装完成后运行代码,出现了AttributeError: module ‘collections‘ has no attribute ‘MutableMapping‘这样的错误信息,然后网络上的解决方法如下:

from collections import Mapping, MutableMapping 这种用法在 python3.10 上已经被移除了

从 python3.3 开始,就应该使用 from collections.abc import MutableMapping 替代 from collections import Mapping, MutableMapping

于是我在代码里加上:from collections.abc import MutableMapping 

import json
import requests
import xlwt
from collections.abc import MutableMapping
# 设置头部信息
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
response = requests.get(url=url, headers=headers).text
loads = json.loads(response)
dic = loads['hero']

运行时发现还是不行。

于是大胆的猜想是不是通过PyCharm安装的requests和json、xlwt版本兼容的问题,把刚刚通过PyCharm安装的requests和json、xlwt卸载掉,重新通过python自带的pip工具安装requests、json、xlwt,果不其然,安装成功之后再运行上面代码就正常运行了。

这个问题给我的警示:后续安装python开发过程需要的包时还是用python自带的安装工具pip更保险些。

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]:AttributeError:modulerequests’ has no attribute ‘get’,依旧是使用单词的意思来分析报错原因 AttributeError 属性错误 module 模块 分析可以得出:属性错误:requests没有get属性 居然:好家伙,这咋办啊 hacker:慌什么慌,其实很好解决啦 解决方案 。 引用\[2\]:解决方案很简单大家注意他的模块名和文件名都是requests 居然:好像是的哦,那应该怎么解决啊 hacker:来,我给你讲讲哈 其实很简单,因为他的模块名和文件名冲突了,当他导入这个库时系统会觉得他导入的是requests.py这个文件,所有会报错,只需要把文件名修改一下就行了 居然:那应该怎么修改啊 hacker:很简单啊,鼠标右键项目,点击Refactor—>Rename修改一下点击Refator就行了 修改完再运行一下看看是否解决了 完美解决🥳🥳🥳 居然:还得是你啊 hacker:嘻嘻嘻👀👀👀 。 引用\[3\]:✅作者简介:大家好我是hacker707,大家可以叫我hacker 📃个人主页:hacker707的csdn博客 🔥系列专栏:hacker的错误集 💬推荐一款模拟面试、刷题神器👉点击跳转进入网站 。 问题:AttributeError: module 'requests' has no attribute 'Session' 回答: AttributeError: module 'requests' has no attribute 'Session'这个错误是因为在requests模块中找不到Session属性。\[1\]解决这个问题的方法是检查你的代码中是否正确导入了requests模块,并且确保你的requests版本是最新的。如果你已经正确导入了requests模块并且版本也是最新的,那么可能是因为你的代码中使用了错误的属性名。你可以查看requests模块的文档或者参考其他资源来确定正确的属性名。如果问题仍然存在,你可以尝试重新安装requests模块或者使用其他替代的HTTP请求库。\[2\] #### 引用[.reference_title] - *1* *2* *3* [【hacker的错误集】AttributeError:modulerequests‘ has no attribute ‘get](https://blog.csdn.net/xqe777/article/details/123356700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值