暂时没想到这个能用来干什么,只是刚好看到相关文章,学习一下,就拿获取基金信息来做试验把

爬取基金的信息就不介绍了,请参考https://www.cnblogs.com/becks/p/14500495.html

这里主要是对输出内容修改了,改成不写入表格,实时打印出来

正文,通过调用别人已经架设好的QQ消息服务来给指定QQ发送消息

消息服务提供方https://qmsg.zendee.cn/index.html

我们先要到这里面注册账号,选择QQ机器人,绑定发送对象(QQ),获取key

下面截图页面标签对应QQ机器人,绑定发送对象(QQ),获取key。

设置好后,接收消息的QQ需要添加机器人QQ为好友(不加好友咋给你发消息)

然后就是python脚本中的代码部分,直接提取关键

qmsg_code = 'https://qmsg.zendee.cn/send/key?msg='
jj = qmsg_code + str(name[0]) + '\n' +"当前估值" + str(GUZHI[0]) + '\n' + "盘中涨跌" + ZHANGDIE[0]
message_send = requests.get(jj)

解析一下

第一行是固定内容,提供服务的接口地址(未包含发送内容),里面有个key,就是上面图片里注册申请后的key

第二行是发送的内容,由接口地址和实际发送内容组成(参数),这里是指,地址+基金名称+当前估值+盘中涨跌

第三行请求接口+参数,执行后,机器人即发送消息。下图样子

附上所有代码咯

# -*-coding:utf8-*-
# encoding:utf-8
import requests
import re
import time
import random
import openpyxl
import xlrd import requests cookies = {
'em_hq_fls': 'js',
'em-quote-version': 'topspeed',
'HAList': 'f-0-000001-%u4E0A%u8BC1%u6307%u6570%2Ca-sz-002496-%u8F89%u4E30%u80A1%u4EFD%2Ca-sz-002458-%u76CA%u751F%u80A1%u4EFD%2Ca-sz-000615-%u4EAC%u6C49%u80A1%u4EFD%2Ca-sh-601398-%u5DE5%u5546%u94F6%u884C%2Ca-sh-601577-%u957F%u6C99%u94F6%u884C%2Ca-sz-002948-%u9752%u5C9B%u94F6%u884C%2Ca-sz-000651-%u683C%u529B%u7535%u5668%2Ca-sz-002075-%u6C99%u94A2%u80A1%u4EFD%2Ca-sz-000932-%u534E%u83F1%u94A2%u94C1%2Ca-sz-300104-%u4E50%u89C6%u7F51%2Ca-sh-603305-%u65ED%u5347%u80A1%u4EFD',
'__guid': '41353141.1145764407078476400.1605601056797.9084',
'EMFUND1': 'null',
'EMFUND2': 'null',
'EMFUND3': 'null',
'EMFUND4': 'null',
'EMFUND5': 'null',
'EMFUND6': 'null',
'EMFUND7': 'null',
'qgqp_b_id': '10cff73dbfe1d89e1ae2accf1bd69820',
'EMFUND0': 'null',
'EMFUND8': '03-08%2017%3A55%3A43@%23%24%u6613%u65B9%u8FBE%u4E0A%u8BC150%u589E%u5F3AA@%23%24110003',
'ASP.NET_SessionId': 'bfgbzgfpspgvks3vt5ybbprx',
'st_si': '46448399938903',
'st_asi': 'delete',
'monitor_count': '7',
'st_pvi': '67980443940531',
'st_sp': '2018-09-21%2009%3A10%3A49',
'st_inirUrl': 'https%3A%2F%2Fwww.baidu.com%2Flink',
'st_sn': '7',
'st_psi': '20210315140331255-0-0163083037',
} headers = {
'Connection': 'keep-alive',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-User': '?1',
'Sec-Fetch-Dest': 'document',
'Accept-Language': 'zh-CN,zh;q=0.9',
} #读取表格内的基金代码
def code():
wb = xlrd.open_workbook('更新数据.xlsx')# 打开Excel文件
data = wb.sheet_by_name('Sheet1')#通过excel表格名称(rank)获取工作表
b=data.col_values(1)#获取第一列数据(数组)
list=[]
for c in b[1:]:#for循环,排除第一行数据
d=int(c)
s="%06d" % d#股票代码一共有6位,常规打印无法打印出首位带0的代码的0部分,补齐缺失的0
#print(s)
list.append(s)
return(list)
code=code() def data(cookies,headers,code):
for num in code:
response = requests.get('https://fundf10.eastmoney.com/jjjz_'+num+'.html', headers=headers, cookies=cookies)
response.encoding = 'utf-8' #处理编码得步骤
response = response.text #获取基金名称及代码
name = re.findall('<title>(.+?)基金历史净值 _ 基金档案 _ 天天基金网</title>', response, re.S) #获取盘中估值
valueD = re.findall('<span id="fund_gsz" class="grn lar bold guzhi">(.+?)</span>', response, re.S)
if len(valueD)>0: #如果返回值长度大于0,即可理解为当天是跌,value从valueD取值
GUZHI = valueD
else: #否则,即可理解为当天是涨,value从valueZ取值
valueZ = re.findall('<span id="fund_gsz" class="red lar bold guzhi">(.+?)</span>', response, re.S)#当天净值为涨
GUZHI = valueZ #获取盘中涨跌幅
valueG = re.findall('<span id="fund_gszf" class="grn lar bold ">(.+?)</span>', response, re.S)
if len(valueG)>0: #如果返回值长度大于0,即可理解为当天是跌,value从valueD取值
ZHANGDIE = valueG
else: #否则,即可理解为当天是涨,value从valueZ取值
valueZ = re.findall('<span id="fund_gszf" class="red lar bold ">(.+?)</span>', response, re.S)#当天净值为涨
ZHANGDIE = valueZ #print(str(name[0]))
#print("当前估值" + str(GUZHI[0]))
#print("盘中涨跌" + ZHANGDIE[0])
#print("......................") qmsg_code = 'https://qmsg.zendee.cn/send/key?msg='
jj = qmsg_code + str(name[0]) + '\n' +"当前估值" + str(GUZHI[0]) + '\n' + "盘中涨跌" + ZHANGDIE[0]
message_send = requests.get(jj)
print(str(name[0])+'发送成功') data(cookies,headers,code) #time.sleep(30)

python调用QQ机器人向指定QQ发消息的更多相关文章

  1. python调用小豆机器人实现自己的机器人!

    大家好,人工智能是不是很酷呢? 今天我们用python调用小豆机器人实现自己的机器人(可以结合往期的语音识别更酷哦) 好,废话不多说直接上代码 import requests i=input(&quo ...

  2. Python 调用图灵机器人 API

    ''' Python3''' import requests #导入requests库 import json #导入json库 key = '3119f1e3610f42c5977ea73c4097 ...

  3. python 调用图灵机器人api实现简单的人机交互

    接入流程例如以下,须要先注冊开发人员帐号,之后会得到一个32位的key,保存下来,用于以后发送数据.http://www.tuling123.com/ 请求方式 演示样例: # -*- coding: ...

  4. Python+ITchart实现微信机器人对指定的朋友和群自动回复

    这里我主要用了3个机器人,可以切换. 1.图灵机器人  (傻的不行,一直在问别人问题,没有限制) http://www.tuling123.com 2.showApi上的图灵机器人 (感觉最聪明,可以 ...

  5. 用Python调用华为云API接口发短信

    [摘要] 用Python调用华为云API接口实现发短信,当然能给调用发短信接口前提条件是通过企业实名认证,而且有一个通过审核的短信签名,话不多说,showcode #!/usr/bin/python3 ...

  6. python实现qq机器人qqbot

    title: python实现qq机器人qqbot tags: python date: 2018-6-1 10:19:00 --- 以下内容为转载 一.介绍 qqbot 是一个用 python 实现 ...

  7. Python+mirai开发QQ机器人起步教程(2021.9.9测试有效)

    参考:开发 mirai QQ机器人起步教程_叹之-CSDN博客_mirai python 本篇文章参考了以上博客,并对其中的失效内容和版本匹配问题进行了补充修改,实测能够成功运行.部分步骤的运行截图见 ...

  8. python实现QQ机器人(自己主动登录,获取群消息,发送群消息)

    一次偶然的机会我看见了一个群里的一个QQ号总是依据你所发的消息自己主动回复,当时非常感觉到奇妙.我知道能够模拟登录站点,没想到居然也能模拟登录QQ,首先自己想到的就是怎样实现模拟登录PC端的QQ, 開 ...

  9. 「拆小鹤」使用 python 实现 QQ机器人服务。

    使用的是python的qqbot机器人库,我其实只是实现了这个库的一个插件. 具体的说明,我觉得qqbot的官方文档,还有我的插件的注释都写得很详细了,可以直接看.所以有空再写吧. 没错我就是懒..

  10. python qq发消息

    # 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板内容发送到qq窗口 # 之后模拟按键发送enter键发送消息 import win32gui import win32con import win ...

随机推荐

  1. 转换流:InputStreamReader、OutputStreamWriter

    1.转换流涉及到的类:属于字符流InputStreamReader:将一个字节的输入流转换为字符的输入流解码:字节.字节数组 --->字符数组.字符串 OutputStreamWriter:将一 ...

  2. idea构建Build Project项目时一直卡在解析阶段解决办法

    可能是内存不足,修改以下三个地方 1.help->Edit Custom VM Options-Xmx4096m 2.file->settings->Build,Execution, ...

  3. 从倒水问题到盛最多水的容器:一道经典的双指针应用题|LeetCode 11 盛最多水的容器

    LeetCode 11 盛最多水的容器 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你有没有遇到过这样的场景:家里要举办派对,需要准备一个大 ...

  4. DPDK简介和原理

    本文分享自天翼云开发者社区<DPDK简介和原理>,作者:s****n DPDK是一种绕过内核直接在用户态收发包来解决内核性能的瓶颈技术. 什么是中断 了解DPDK之前,首先需要先了解什么是 ...

  5. DeepSeek模型技术动态引行业关注,企业生产系统API迁移需审慎评估

    在当今数字化浪潮中,人工智能技术迅猛发展,各类模型如雨后春笋般涌现,而 DeepSeek 模型凭借其独特的优势,在人工智能领域迅速崭露头角,成为备受瞩目的新星. DeepSeek 模型由杭州深度求索人 ...

  6. 微信扫码登录授权过程中state字段的用法

    问题描述 最近在实现微信扫码登录这一块,然后看到state字段上面说是可以防csrf攻击 那么现在假设一个用户扫完码后由于某些原因扫码后的响应还没到,但是该平台的回调url已被窃取,然后被人设置到某个 ...

  7. 面试官:你是如何进行SQL调优的?

    SQL调优是我们后端开发人员面试中的高频考点,也是实际工作中提升数据库性能的关键技能.面对"你是如何进行SQL调优的?"这个问题,你是否能条理清晰地分析问题并提供解决方案? 1. ...

  8. MySQL - [08] 存储过程

    题记部分 一.什么是存储过程   存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效 ...

  9. postman发送数组

    postman发送数组 第一种 第二种

  10. 基础指令:sudo提权、通配符、特殊符号、stat命令、id命令、正则表达式

    目录 4.4 sudo提权 授权的两种方法 4.4 通配符-查文件 4.5 特殊符号 4.6 stat输出文件的详细内容 4.7 id命令查看用户基本信息 4.8 正则表达式 4.8.1 符号 ^ 4 ...