点关注不迷路,若觉得有用,烦请动动小手,感谢!
在这里插入图片描述

女朋友莫名其妙的不理我,不得已出此下策!!!希望大家用不到

1.注册账号
大多网上都是用的国外的接口,不稳定,这个是国内比较稳定的,不用担心发送不成功
1.1 注册完之后,登录账号点击国内短信界面,可以看到有一个API-Key,是调用接口的必要参数,也是验证身份唯一凭证,大家一定保管好!
在这里插入图片描述

2.调用API
上图有一个万能接口,点击生成我们需要的接口,不了解的,可以看看官方文档 API文档,有详细讲解调用方法。

在这里插入图片描述
2.1 通过request,直接请求(get)

import requests
import random
from urllib import parse

def send_sms():
    app_key = '******'  # 填写自己的密钥
    mobile = '*******'  # 手机号,填写收信人的(女朋友)
    sms_data = []    # 创建一个列表
    text = random.choice(data) # 随机抽取一条发送
    if text in if_data:  # 判断是否发送过
        content = parse.quote(text)  # 因为此api是要求转码的,不然会显示乱码!
        url = 'https://api.smsbao.com/sms?u=funsn&p={}&m={}&c={}'.format(app_key, mobile, content)
        res = requests.get(url).json()
        print('短信状态码: '.format(res))  # 0,表示发送成功
    	sms_data.append(text)  # 把已经发送的情话存放在列表中

3.爬取土味情话,文采好的可以自行发挥!!!哈哈
3.1 随便百度了一个,将就一下
在这里插入图片描述

import requests
from lxml import etree

def get_talk():

    headers = {
        'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
    }
    url = 'https://www.kuk8.com/juzi/youmei/152249.html'
    res = requests.get(url,headers=headers).content.decode('utf8')  # 编码格式转为utf8,不然会乱码
    html = etree.HTML(res)
    text = html.xpath('//*[@style="text-indent: 2em;"]/text()')
    print(text)

3.2 我这里就随手存放到列表中,比较简便,后续大家可以保存文本或者数据库中。

data = [
    '人间太吵了,来我心里吧',
    '我有超能力,超喜欢你。',
    '心和你,我都想操,真的。',
    '怎么泡你啊?水温多少合适啊',
    '我想买一块地 你的死心塌地',
    '野心不大,有你就拥有天下!',
    '我是九你是三,除了你还是你',
    '你过来 我有个天想跟你聊一下',
    '你知道我喜欢喝什么吗? 呵护你',
    '你的眼睛真漂亮里面只适合装我',
]

最终结果

在这里插入图片描述
最后记得定时哦,写个小时任务

Python中有自带的定时模块:apscheduler 可以完成每分钟,每小时,每天,周几,特定日期的定时任务,特别方便我们写一些轻量级的定时脚本

import time
from apscheduler.schedulers.background import BackgroundScheduler
from send_sms import send_sms
minute = 30  # 注意:这里是每小时30分


def task_num():
    t = time.perf_counter()
    send_sms()
    print(f'task_num coast time:{time.perf_counter() - t:.8f} s')


if __name__ == '__main__':
    # BackgroundScheduler: 适合于要求任何在程序后台运行的情况,当希望调度器在应用后台执行时使用
    scheduler = BackgroundScheduler(timezone='Asia/Shanghai')
    # 采用corn的方式
    # 小时任务,目前30分钟左右
    scheduler.add_job(task_num, 'cron', hour='0-23', minute=minute)
    scheduler.start()
    # BlockingScheduler时, 不会被执行到
    while True:
        time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
        time.sleep(60)

本文章若对你有帮助,烦请三连支持一下
各位的支持和认可就是我最大的动力

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐