用python实现微信定时发文

-如果你女朋友需要天天给她微信发“晚安”,你一般怎么做呢?

-每天用手机敲出来

-忘记了怎么办?

-设个闹钟

-哥不扶墙,就服你

作为程序员哥哥,你如果再怎么low,那就有点愧对你的身份了。一想,不就是一个定时任务吗?定时器就可以搞定。可,可....

作为热门的java好像没有处理个人微信的相关接口,有的都是针对公众号的,并且还要认证。

人生苦短,我用python。还好python有。

wxpy是专门用于python处理个人用户微信的相关模块,这个模块可以查看朋友、查看群组、发信息、公众号操作等等,功能非常强大。

安装,用python带的pip就可以了

下面是个从金山词霸的每日一句获取数据,然后发送给女朋友的程序。

#不要抄下源码就运行,你需要改动几个地方

from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
bot = None
def get_news1():
    #获取金山词霸每日一句,英文和翻译
    url = "http://open.iciba.com/dsapi/"
    r = requests.get(url)
    print(r.json())
    contents = r.json()['content']
    translation = r.json()['translation']
    return contents,translation
def login_wechat():
    
    global bot
    bot = Bot()
    # bot = Bot(console_qr=2,cache_path="botoo.pkl")#Linux专用,像素二维码

def send_news():
    if bot == None:
        login_wechat()
    try:
        my_friend = bot.friends().search(u'春蕾')[0]    #你朋友的微信名称,不是备注,也不是微信帐号。
        # my_friend = bot.groups().search(u'测试')[0]    #你群的微信名称,不是备注,也不是微信帐号。
        my_friend.send(get_news1()[0])
        my_friend.send(get_news1()[1][5:])
        t = Timer(86400, send_news) #每86400秒(1天),发送1次,不用linux的定时任务是因为每次登陆都需要扫描二维码登陆,很麻烦的一件事,就让他一直挂着吧
        t.start()
    except:
        print(u"今天消息发送失败了")
if __name__ == "__main__":
    send_news()
    print(get_news1()[0])
    print(get_news1()[1][5:])

-程序员有女朋友吗?

-没有啊

-啊?好吧,那这个程序就没用了

-谁说的,找基友不是也可以吗?

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要现微信定时送功能,你可以使用Python的itchat库来控制微信的登录和消息送。以下是一个简单的示例代码: ```python import itchat import time def send_message(): # 登录微信 itchat.auto_login() # 获取好友列表,可以根据需要选择送消息的好友 friends = itchat.get_friends(update=True) # 遍历好友列表,送消息 for friend in friends: # 过滤掉特定的好友,可以根据需要修改判断条件 if friend['RemarkName'] == '某某好友': # 送消息 itchat.send('定时送的消息', friend['UserName']) # 延时1秒,避免送频率过高 time.sleep(1) # 退出登录 itchat.logout() # 设置定时送的时间,这里设置为每天的9点30分 schedule_time = '09:30' while True: # 获取当前时间 current_time = time.strftime('%H:%M', time.localtime()) # 判断是否到达设定的时间 if current_time == schedule_time: # 送消息 send_message() # 延时一天,避免重复送 time.sleep(24 * 60 * 60) else: # 延时1秒后再次检查时间 time.sleep(1) ``` 上述代码使用itchat库实现微信登录和消息送功能。首先调用`itchat.auto_login()`登录微信,然后使用`itchat.get_friends()`获取好友列表。遍历好友列表,根据需要判断送消息的对象,并使用`itchat.send()`送消息。最后调用`itchat.logout()`退出登录。 代码中使用了一个无限循环,每次循环判断当前时间是否等于设定的定时送时间。如果到达设定时间,则调用`send_message()`函数送消息,并延时一天以避免重复送。如果未到达设定时间,则延时一秒后再次检查时间。 请注意,定时送功能需要保持脚本的运行,可以在服务器上运行或者使用类似于crontab的定时任务工具来执行脚本。此外,使用itchat库进行微信登录可能存在一定的风险,请谨慎使用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值