Python爬虫程序(一):5.20为女友写个微信定时批量发送99条情话脚本
2021/5/22 20:27:29
本文主要是介绍Python爬虫程序(一):5.20为女友写个微信定时批量发送99条情话脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
阿巴阿巴阿巴
520到了(迟到的详解),如何大批量给女友发情话呢?首先得有情话吧,情话哪里来呢?我找到了一个情话api,请求地址:“https://chp.shadiao.app/api.php” ,那么如何获取情话通过微信发送给女友呢?请看一下详细步骤
请求情话API
首先得导入Requests库,如果没有在cmd安装:pip3 install requests
, 然后先创建一个空列表content用于存储情话,创建一个Sessions用于持续访问(在这里其实没用),再将网址赋值给url变量,因为该api使用GET请求,所以使用get方法请求这个api地址,然后用列表的addend方法保存进content,最后自定义一个函数封装,这里我自定义一个parse函数
import requests content = [] def parse(): Sessions = requests.session() url = "https://chp.shadiao.app/api.php" re = Sessions.get(url=url) content.append(re.text)
发送微信消息
导入itchat库提供的微信接口来查找好友并发送消息(该库需要通过pip安装),然后用auto_login方法登录微信,然后添加hotReload参数并赋值为True用于存储登录信息,然后用search_friends方法查找你女友的备注名称并赋值给user,然后用send方法来发送消息,该方法第一个参数是需要发送的信息也就是content列表中的情话,再填入一个toUserName参数为需要发送给谁也就是user的信息,但是user的信息的是一个列表套字典有很多参数,我们只需要第一个字典中的UserName的值:user[0]["UserName"]
,最后自定义一个函数封装,这里我自定义一个sen_msg函数,但是需要设置一个获取列表下标的参数,我这里设置为size,因为后面需要循环发送99条,不可能发个情话列表过去吧,所以发送的消息应为:content[size]
import itchat def sen_msg(size): itchat.auto_login(hotReload=True) user = itchat.search_friends("这里为你女友的备注") itchat.send(content[size], toUserName=user[0]["UserName"])
启动函数
用for循环请求99次api,将99条情话存入content,并通过微信发送给女友,最后自定义一个函数封装,这里我自定义一个sen_msg函数
def run(): for i in range(99): parse() sen_msg(size=i)
定时发送
这里导入一个schedule第三方库(该库需要通过pip安装),该库是个调度器,我们用它来创建一个定时任务,用every().thursday.at("13:14").do(run)
方法在星期五的13点14分运行run函数,然后用run_pending方法运行在while循环中并每秒检查一次时间,所以需要导入time,用sleep方法等待一秒
import schedule import time schedule.every().thursday.at("13:14").do(run) # 星期四的13:14发一次 while True: schedule.run_pending() time.sleep(1)
完整代码
因为运行sen_msg函数时会登录微信一次,但是在定时的那个时间不一定在电脑前,所以我们将itchat.auto_login(hotReload=True)
写在开头,也就是运行该脚本的时候就登录一次,hotReload=True
会保存我的登录信息
import requests import schedule import itchat import time content = [] Sessions = requests.session() itchat.auto_login(hotReload=True) # hotReload=True用于存储登录信息 # 请求情话api def parse(): url = "https://chp.shadiao.app/api.php" re = Sessions.get(url=url) content.append(re.text) # 发送微信消息 def sen_msg(size): print(content[size]) user = itchat.search_friends("你女友的备注") itchat.send(content[size], toUserName=user[0]["UserName"]) # 启动 def run(): for i in range(99): parse() sen_msg(size=i) schedule.every().thursday.at("13:14").do(run) # 星期四的13:14发一次 while True: schedule.run_pending() time.sleep(1)
这篇关于Python爬虫程序(一):5.20为女友写个微信定时批量发送99条情话脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门