爬虫常见报错(一)

报错:编码错误

UnicodeEncodeError: 'latin-1' codec can't encode character '\u201a' 

解决方法:

一开始我以为是requests请求返回的内容编码有错误,所以在请求时添加了编码方式encoding,但是发现get方法居然没有这个参数(可能不同版本不一样把),所以我以为是写法的问题

r=requests.get(url,headers=headers,encoding='utf-8')

所以又看了一些报错总结的文章,了解了解码编码,还是不行! 

r.encode('utf-8').decode('latin-1')

 接着,我看到这篇文章,还是不起作用,然后我又查看该python文件的编码方式,就是”utf-8“,但还是无法解决报错

文章链接:成功解决UnicodeDecodeError: 'utf-8' codec can't decode - 知乎 (zhihu.com)

在翻阅上面这篇文章的评论区后,找到了另一篇文章,方法就是固定死所有的编码解码方式 

文章链接:简单从根源解决 SyntaxError: Non-UTF-8 code starting 和 UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte-CSDN博客 尝试之后仍然无法解决,然后突然看到了我的headers里面的cookie字符串是乱码的,意识到了到了headers解码读取cookies的时候就已经报错,根本不是请求后返回文本的问题

mycookie="zzz"
headers={
    "Cookie":mycookie.encode('utf-8').decode('latin-1'),
    "Referer":"yyy",
    "User-Agent":"xxx",
}

​

结果成功了!!!原来一开始就是找错了病症所在

参考文章链接:解决python中requests请求时报错:UnicodeEncodeError: ‘latin-1‘ codec can‘t encode character_python session.post latin-1-CSDN博客 

报错:导包错误

ImportError: cannot import name 'WordCloud' from partially initialized module 'wordcloud'  

解决方法: 

在没有编译运行该文件之前,我发现wordcloud包一直导入不进去

 

 我一度以为是自己的安装包版本的问题,所以学了一下怎么找到与python版本和其他相适应的包的版本之间相互兼容。虽然最终不是这个原因导致,但也算学了点东西!

step1:查看与该python兼容的版本号

pip debug --verbose

 

 词云库的下载官网:wordcloud · PyPI

step2:找到与之对应的安装包下载

step3:安装下载的xxx.whl

pip install 对象名称

至此,就完整的安装好了。

参考文章:Python:Pycharm(win10)安装wordcloud的有效步骤详述_wordcloud库怎么安装-CSDN博客

最终把所有的内容写完后编译运行了一下,报错,搜了一下,发现是因为文件名与包的名称重复了!改一下文件名就好啦! 修改完文件名后,代码中导入包的名字会跟着变化,再把包名称改回来即可!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值