我的博客 一直有個想法,想要弄個微信機器人,然而出師不利,剛開始就碰壁了 先上代碼,這個是用來接收消息的,是個測試腳本 #!/usr/bin/python # coding: utf-8 import itchat def write_infomation(text_value): print(te ...
一直有個想法,想要弄個微信機器人,然而出師不利,剛開始就碰壁了
先上代碼,這個是用來接收消息的,是個測試腳本
#!/usr/bin/python # coding: utf-8 import itchat def write_infomation(text_value): print(text_value) @itchat.msg_register(itchat.content.TEXT) def get_reply(msg): write_infomation(msg.text) itchat.auto_login() itchat.run()
我連接微信用的itchat
itchat.auto_login()正常跳出登陸二維碼,用手機掃碼後正常登陸,本來以為一切正常,嘗試給自己發了個消息,這時候就彈出錯誤'HTMLParser' object has no attribute 'unescape',並且,每次發消息,都會彈一段錯誤出來,證明消息接收沒問題,那麼就看錯誤了,提示itchat的utils.py這個文件報錯,於是定位到問題點
下麵我把這個文件的重點代碼放上來
from HTMLParser import HTMLParser htmlParser = HTMLParser() d[k] = htmlParser.unescape(d[k]) #就是這裡報錯
在網上搜索了一下,這個報錯的原因是因為高版本python廢棄了HTMLParser().unescape()這個方法,所以提示找不到這個方法,可以用html.unescape()來替代
那麼後面的事就簡單了,把utils.py這個文件的關鍵代碼替換下就行了
from HTMLParser import HTMLParser import html #首先導入html htmlParser = HTMLParser() d[k] = html.unescape(d[k]) #這裡把htmlParser改成html
再次執行測試了一下
正常接收消息,那麼接下來故事就這麼開始了