美文网首页Python数据从入门到实践
Python实现微信查天气+火车+飞机+快递!!!

Python实现微信查天气+火车+飞机+快递!!!

作者: Sunflow007 | 来源:发表于2020-03-03 23:01 被阅读0次
    13.jpg

    前言:

    前面介绍了Python—itchat实现微信自动回复Python—itchat下载拼接微信好友头像图,现在,来进一步地实现更高级点的功能——查天气+火车+飞机+快递!!!当然,前提是基于之前几篇文章写过的【查询系】爬虫,这里只是把他们集中在一起了,通过微信itchat的自动回复功能,实现回复关键字,返回自动查询结果的效果!

    主程序是:

    weChat.py,主程序依赖weather、package、airlineTicket、trainTicket这几个.py文件(他们分别对应查天气、快递、机票、火车票的功能)。

    源码:

    已上传至github:Flowingsun007/littleSpiders 喜欢的盆友麻烦点个赞+star!谢谢!


    【原理】

    主程序weChat.py通过itchat库实现微信好友聊天,自动回复。2.通过好友发来的相应关键词的消息(TEXT类型)调用相应的爬虫代码运行(查天气/火车/快递/飞机),然后将查询的结果自动回复。

    【主要功能】:

    1.对微信好友发送过来的各种类型消息进行相应识别和处理、并自动返回相应消息。

    TEXT类型的消息:

    如关键词:快递/火车/飞机/天气,自动回复相应内容并返回查询结果!

    其他类型的消息:

    微信除了文字类型(TEXT)的消息,还有PICTURE图片, MAP地点, CARD名片, NOTE通知, SHARING分享, RECORDING语音, ATTACHMENT附件, VIDEO视频。对于这些类型,程序里也做了相应的处理。

    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中保存。

    下面来几张图片,看的更直观。

    文字回复效果:

    image 14-1.jpg

    控制台效果:

    14-2.jpg

    微信助手效果:

    14-3.jpg

    退订/开通效果:

    14-4.jpg

    其他类型回复效果:

    14-5.jpg

    源码在github:Flowingsun007/littleSpiders 喜欢的盆友麻烦点个赞+star。谢谢!!!


    (18.3.5更新):记录一下怕以后忘了,中文名的文件可以正常下载,但是在同步发送到文件助手的过程中总失败,应该是编码问题,花了大把时间去源码里改了两个地方,然后就可以正常收发中文名的文件了。

    源码包components文件夹下messages.py中:

    _prepare_file()函数中此句:

    with open(u'%s' % fileDir, 'rb') as f:
    

    和upload_chunk_file()函数中此句:

    ('filename' , (os.path.basename(u'{fileDir}'), file_.read(524288), 'application/octet-stream'))])
    
    14-6.jpg 14-7.jpg

    相关文章

      网友评论

        本文标题:Python实现微信查天气+火车+飞机+快递!!!

        本文链接:https://www.haomeiwen.com/subject/eodrlhtx.html