前言:
主程序:
weChat.py,主程序依赖weather、package、airlineTicket、trainTicket这几个.py文件(他们分别对应查天气、快递、机票、火车票的功能)。
源码:
已上传至github:Flowingsun007/littleSpiders
【原理】:
2.通过好友发来的相应关键词的消息(TEXT类型)调用相应的爬虫代码运行(查天气/火车/快递/飞机),然后将查询的结果自动回复。
【主要功能】:
1.对微信好友发送过来的各种类型消息进行相应识别和处理、并自动返回相应消息。
TEXT类型的消息:
如关键词:快递/火车/飞机/天气,自动回复相应内容并返回查询结果!
其他类型的消息:
a.MAP即地图类型的消息,自动回复地点名称,经纬度信息;
b.CARD即名片类型,无特别处理,直接返回msg['content'];
c.SHARING即分享类型,自动回复分享的链接;
d.NOTE即通知类型,如果是红包,则回复“谢谢红包打赏????...”否则msg['content'];
e.PICTURE图片、RECORDING语音、ATTACHMENT附件、VIDEO视频类型支持自动下载到电脑,同时将文件转发给“文件传输助手”;
2.消息自动回复功能,支持好友自助退订/订阅
如果每句话都自动回复,可能时间长了别人就会嫌烦了,这时无需手动,只要好友输入TDD即可成功退订,以后都会消息免打扰(不会自动回复),想重新开启也很简单,回复KTT即可!程序每次运行时自动读取.txt中的文件,将已经退订自动回复的好友信息加载到TDlist中,做到对于在TDlist中的好友,不调用itchat.send()方法进行自动回复,起到了消息免打扰的功能!
回复TDD,则好友动态加入TDlist列表,并将好友写入.txt中的文件中;
回复KTT,则好友从TDlist移除,更新后的TDlist重新写入到.txt中保存。
下面来几张图片,看的更直观。
文字回复效果:
控制台效果:
微信助手效果:
退订/开通效果:
其他类型回复效果:
源码在github:Flowingsun007/littleSpiders
记录一下怕以后忘了,中文名的文件可以正常下载,但是在同步发送到文件助手的过程中总失败,应该是编码问题,花了大把时间去源码里改了两个地方,然后就可以正常收发中文名的文件了。
源码包components文件夹下messages.py中:
_prepare_file()函数中此句:
with open(u'%s' % fileDir, 'rb') as f:
和upload_chunk_file()函数中此句:
'application/octet-stream'))])
领取专属 10元无门槛券
私享最新 技术干货