python itchat无法登陆_618购物节要到了,Python帮你实现商品有货的微信提醒

时间过的真快,不知不觉一年已过了一半,又快到618购物狂欢节了,剁手党们都希望无论是618购物节还是双11购物节,都能够买到便宜又实惠的商品,但是真心实惠的东西往往是紧俏的,经常会出现无货的情况,我们平时又很忙,无法实时地盯着app去看?

5808e24abc1f22fb1c5e2fb667f7033f.png

为了自己心仪的商品有货第一时间可以通知到自己,今天小编用Python来实现商品有货的微信提醒,当然使用场景不仅仅在此,比如需要医院预约挂号已满,当有人因有事需要取消挂号时,那么就可以第一时间告知自己。

为了实现上述功能,本篇文章将按照如下步骤进行详细讲解,内容首发于WX公众号:Python学习与数据挖掘,需要完整版代码的同学,WX公众号后台回复:消息提醒

  • itchat介绍
  • 开发消息提醒功能
  • 后台脚本部署

itchat介绍

itchat是一个开源的微信个人号接口,使用Python调用微信从未如此简单。下面介绍itchat的一些常用功能,详情功能可以参考如下文档:

'https://itchat.readthedocs.io/zh/latest/'

1.安装

pip install itchat

2.登陆

import itchat#登入并保存登入状态,实现第一次运行时扫码,一定时间内再次运行就不用扫码了,手机微信上将显示:网页微信已登入.....itchat.auto_login(hotReload=True)#发送文本数据到文件助手itchat.send("你好,Python学习与数据挖掘",toUserName="filehelper")

3.登出

itchat.logout() 

4.命令行二维码

通过以下命令可以在登陆的时候使用命令行显示二维码:

itchat.auto_login(enableCmdQR=True)

5.消息发送

itchat.send,可以一次性发送多条

参数:(内容,用户)

返回值:发送结果,是否发送成功,json数据

注意:文件地址不可为中文

内容:可为单独的字符串内容,其他有【@类型@地址】,类型有图片(img)、文件(fil)、视频(vid)

用户:msg['FromUserName']表示指定用户为触发用户

res=itchat.send('文本信息的发送......!', toUserName=msg['FromUserName'])res=itchat.send('@img@%s' % './filex/zcy.gif', toUserName=msg['FromUserName'])res=itchat.send('@fil@%s' % './filex/tt.txt', toUserName=msg['FromUserName'])res=itchat.send('@vid@%s' % './filex/videox.mp4', toUserName=msg['FromUserName'])

开发消息提醒功能

我们以分析上个截图的Apple iPhone XS Max (A2104) 256GB 深空灰色的为例,进行商品有货的微信提醒开发,利用F12快捷键来查找商品是否有货的接口,截图如下:

6347381bbacd26e7a65eee6ad085a539.png

可点击图片进行放大

该接口输出数据为

758b2b792fb4467be2764138e804d387.png

可点击图片进行放大

当发现接口数据的StockStateName字段状态由无货变成有货时,将第一时间发消息给小编的微信,并且将购买链接发送过来,方便去购买,是否是有点意思啊,兴趣是最好的老师,可以亲自测试一下。

为了测试消息是否可以发送成功,无货状态下发一句“你心仪的商品暂时无货”,截图如下:

360aec4d6780001e8657f2dbd622b510.png

核心代码

# 商品url        skuidUrl = 'https://item.jd.com/' + url.split('skuId=')[1].split('&')[0] + '.html'        response = requests.get(url, headers=headers)        if (response.text.find('无货') > 0):            print('----无货---')            print('暂时无货: ' + skuidUrl)            itchat.send("你心仪的商品暂时无货",toUserName=userName)        else:            print('----有货---')            itchat.send("你心仪的商品有货了,立即购买本:{}".format(skuidUrl),                        toUserName=userName)            flag += 1

后台部署脚本
上面的验证过程都是线下进行的,如果你拥有服务器资源,可以通过发布操作将代码部署线上去,这样就可以解放你的电脑了。以Linux为服务器为例,介绍三种后台部署方法:

1.nohup 命令,xxx.py为你的代码

nohup python2.7 xxxxx.py &

2.定义了一个脚本start.sh

#!/bin/bashcd 想要运行文件的路径名python -u ***.py

后台执行命令

./start.sh > result.log &

3.python-daemon实现守护进程

pip install python-daemon
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值