点关注不迷路,若觉得有用,烦请动动小手,感谢!
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)
本文章若对你有帮助,烦请三连支持一下 各位的支持和认可就是我最大的动力