python接收微信消息报'HTMLParser' object has no attribute ' ...

打印 上一主题 下一主题

主题 539|帖子 539|积分 1617

我的博客
一直有个想法,想要弄个微信机器人,然而出师不利,刚开始就碰壁了
先上代码,这个是用来接收消息的,是个测试脚本
  1. #!/usr/bin/python
  2. # coding: utf-8
  3. import itchat
  4. def write_infomation(text_value):
  5.   print(text_value)
  6. @itchat.msg_register(itchat.content.TEXT)
  7. def get_reply(msg):
  8.   write_infomation(msg.text)
  9. itchat.auto_login()
  10. itchat.run()
复制代码
我连接微信用的itchat
itchat.auto_login()正常跳出登陆二维码,用手机扫码后正常登陆,本来以为一切正常,尝试给自己发了个消息,这时候就弹出错误'HTMLParser' object has no attribute 'unescape',并且,每次发消息,都会弹一段错误出来,证明消息接收没问题,那么就看错误了,提示itchat的utils.py这个文件报错,于是定位到问题点
下面我把这个文件的重点代码放上来
  1. from HTMLParser import HTMLParser
  2. htmlParser = HTMLParser()
  3. d[k]  = htmlParser.unescape(d[k]) #就是这里报错
复制代码
在网上搜索了一下,这个报错的原因是因为高版本python废弃了HTMLParser().unescape()这个方法,所以提示找不到这个方法,可以用html.unescape()来替代
那么后面的事就简单了,把utils.py这个文件的关键代码替换下就行了
 
  1. from HTMLParser import HTMLParser
  2. import html #首先导入html
  3. htmlParser = HTMLParser()
  4. d[k]  = html.unescape(d[k]) #这里把htmlParser改成html
复制代码
 
再次执行测试了一下

正常接收消息,那么接下来故事就这么开始了
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表