Python骚操制作做一个撩妹机器人

雕栏玉砌应犹在,只是朱颜改。

昨天在技术群里问大家七夕节礼物准备好了吗?大多数男程序员回复姿势都是这样的:

程序员有女朋友? new 一个就行。 Python 只要内存够,想 new 多少个对象都不是问题。

由于行业环境的原因,程序员单身的确实多,这也是程序员的世纪难题。

今天,不是给大家发对象,只教大家方法。今天教大家怎么用 Python 给心动的人每天定时发早安或者晚安。

前提条件是,你得有一个心动对象。哇,我连心动对象都没有怎么办?骚年,那你还不赶紧行动,去寻找你的心动的 TA。

好了,直接进入今天的主题。

找对象环境

语言:Python3 编辑工具:Pycharm

导包

wxpy:操作微信的库,机器人陪你唠嗑那篇文章也用到过。

requests:用来请求目标网站。

Timer:定时器,是 Thread 的派生类,用于在指定时间后调用一个方法。

from wxpy import *
import requests
from threading import Timer

登录微信

Bot 对象,用于登陆和操作微信账号,涵盖大部分 Web 微信的功能。cache_path,设置当前会话的缓存路径,并开启缓存功能,为 None (默认) 则不开启缓存功能。开启缓存后可在短时间内避免重复扫码,缓存失效时会重新要求登陆。设为 True 时,使用默认的缓存路径 「wxpy.pkl」。

bot = Bot(cache_path=True)

获取语句

从金山词霸每日一句接口获取语录,用 requests 请求 api 地址,返回英文美句和中文翻译。

def get_msg():
    url = 'http://open.iciba.com/dsapi/'   # 金山词霸每日一句 api 链接
    html = requests.get(url)
    content = html.json()['content']  # 获取每日一句英文语句
    note = html.json()['note']        # 获取每日一句英文的翻译语句
    return content, note

发送语句

接下来把上面获取的语句发送给心动的人,输入你心动的人自己的微信昵称,注意:这里不是你对 TA 的备注,也不是 TA 的微信号,而是 TA 自己设置的微信昵称。我这里是发送给自己的小号「机器人」。自己定义的内容可以改成你觉得合适的语句。我们需要每日发送一次,用定时器设置时间为一天的秒数:86400 秒。

def send_msg():
    try:
        msgs = get_msg()
        content = msgs[0]
        note = msgs[1]
        my_friend = bot.friends().search(
            u'机器人')[0]  # 此处是对方自己的昵称,不是微信号,也不是你的备注。
        my_friend.send(content)  # 发送英文语句
        my_friend.send(note)     # 发送英文翻译
        my_friend.send(u'来自 brucepk 的问候')  # 自定义语句,根据自己情况更改
        t = Timer(10, send_msg)  # Timer(定时器)是 Thread 的派生类,用于在指定时间后调用一个方法。
        t.start()
    except BaseException:
        my_friend = bot.friends().search(u'brucepk')[
            0]  # 发送不成功,则发送消息给自己,提醒消息发送失败
        my_friend.send(u'消息发送失败')

捕捉异常,如果发送失败的话,则发送消息给自己,提醒消息发送失败。

执行函数

最后运行主函数,即可大功告成。

if __name__ == '__main__':
    send_msg()

运行结果

这样的话,岂不是一直都需要程序时刻都在运行?可以放在服务器上,我上网查了下,某云服务器可以试用半年。好了,骚年,我只能帮你到这了,接下来,看你自己的行动了。希望单身的你尽快追到心动的 TA。

原文发布于微信公众号 - Python爬虫与数据挖掘(crawler_python)

原文发表时间:2019-05-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券