ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python爬虫程序(一):5.20为女友写个微信定时批量发送99条情话脚本

2021-05-22 18:29:18  阅读:310  来源: 互联网

标签:情话 run itchat Python 微信 content 99 size


阿巴阿巴阿巴

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)

标签:情话,run,itchat,Python,微信,content,99,size
来源: https://blog.csdn.net/weixin_39414433/article/details/117166349

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有