简易实现QQ机器人推送早报

爱必应

前言:
最近在论坛浏览无意发现很多大佬使用云函数来实现一些操作。。。。
感谢 @黑蚁 大佬,在他的帖子学到了不少。
于是心血来潮,写了一个简单的py程序,实现简易早报功能。
但是,,,,很嘲讽,
我放在云函数上,,它它它,,,疯狂报错,一次都没有运行成功,吐了呀
但是本地运行没有问题。

本人学艺不精,不怎么会封装成自定义函数来传递参数。可能是这个原因导致无法在云函数上执行。
希望有大佬能教教小白,怎么优化代码,和封装,或者提供下思路什么的。
一直没懂自定义函数中参数怎么传递和接收的,,,,哭,,,

以下是用到的:
1、QQ机器人使用的是 酷推(coolpush) 接口。
   (贼好玩,我也是刚知道有这个东西的,大家可自行尝试)
2、天气部分使用的是 天气api 提供的接口。
3、其余就没啥了。

上代码:

[Python] 纯文本查看 复制代码

import requestsfrom lxml import etreeimport timeimport randomimport json## 每日早报内容#新闻摘要url1 = "https://tophub.today/n/wWmoO5Rd4E"url2 = "https://m.vshuoshuo.com/xinqing/761.html"url3 = "https://www.tianqiapi.com/api/?appid=*****&appsecret=*****&version=v9&cityid=0&city=*****&ip=0&callback=0"#使用自己的接口headers = {"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"}#新闻html1 = requests.get(url1, headers=headers).texttitles = etree.HTML(html1).xpath('//div/h4/text()')[0:10]news = ""for title in titles: news = news + title +"\n"time.sleep(0.5)print("早报获取成功!")# 心语html2 = requests.get(url2, headers=headers).texttexts = etree.HTML(html2).xpath('//*[@class="mod_detail"]/p/text()')[1:52]xinyus = []for text in texts: xy = text.split('、')[1] xinyus.append(xy)i = random.randint(1,50)#这个随机数好像设置的有点问题,但不太影响,我就没管它了xinyu = xinyus[i]# 天气html3 = requests.get(url3,headers=headers).json()# print(html3)city = html3["city"]#城市wea = html3["data"][0]["wea"]#天气win_speed = html3["data"][0]["win_speed"]#风力# print(html3["data"][0]["air_level"])#空气质量air_tips = html3["data"][0]["air_tips"]#出行建议weather = "\n【温馨提示】\n"+"这里是{},今天天气 {},风力{},{}".format(city,wea,win_speed,air_tips)# 获取当前时间date_time = time.strftime('%Y-%m-%d %H:%M', time.localtime())time.sleep(0.5)print("时间获取成功!当前时间为{}".format(date_time))#QQ机器人apikey = "************"#使用自己的#私发s_url = "https://push.xuthus.cc/send/"+key#群发g_url = "https://push.xuthus.cc/group/"+key#数据发送c = "【今日早报】\n"+news+"【每日心语】\n"+xinyu+weather+"\n —by loner"+"\n {}".format(date_time)time.sleep(0.5)print("[以下为预览内容:]\n"+"*"*40+"\n"+c)r = requests.post(s_url,data=c.encode('utf-8'))time.sleep(1)print("*"*40+"\n......qq消息发送完毕!")

截图:

简易实现QQ机器人推送早报-图1

简易实现QQ机器人推送早报-图2

至此,已经完成一半了,可以通过运行程序,在QQ或群里发消息了。剩下的就是上传到服务器或者云函数,开启定时,每天自动推送了。。。

如果你跟我一样,不会用,那就每天手动运行程序吧,哈哈哈。

代码写的很烂,有很多不完善的地方,希望大佬指点!
尤其是把怎么把代码使用函数来调用的,,不太会。。
还有上传服务器和云函数这块,,
望指教。

声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。

原文链接:,转发请注明来源!

发表评论