完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个家庭自动化系统,它在网页上以 JSON 格式为十几个测量参数提供连续的数据流(每秒)。
我需要阅读它们并复制相应的变量。 所以全局三个步骤: 1. 登录到服务器(摘要式身份验证)-我认为已解决 2. 每秒从网页读取字符串 - 不知道如何做,也没有找到教程/示例 3. 解析 JSON 和提取数据(最简单的部分 I思考) |
|
相关推荐
1个回答
|
|
一种实现方式是使用Python语言的requests和json模块。
第一步,登录到服务器。可以使用requests模块发送带有身份验证信息的POST请求: ``` import requests import hashlib url = 'http://your_server/login' username = 'your_username' password = 'your_password' # 计算密码的摘要值(使用SHA256算法) digest_password = hashlib.sha256(password.encode()).hexdigest() # 组装请求体 data = { 'username': username, 'password': digest_password } # 发送POST请求 response = requests.post(url, data=data) # 检查响应状态码,如果登录失败可能需要抛出异常 if response.status_code != 200: raise Exception('Failed to login: ' + response.text) # 保存登录后的会话 session = requests.Session() session.cookies.update(response.cookies) ``` 第二步,每秒从网页读取字符串。可以使用requests模块发送带有会话信息的GET请求: ``` import json import time url = 'http://your_server/data_stream' while True: # 发送GET请求 response = session.get(url) # 解析JSON数据 data = json.loads(response.text) # 提取需要的数据(假设需要temperature和humidity两个变量) temperature = data['temperature'] humidity = data['humidity'] # 处理数据... print('temperature:', temperature, 'humidity:', humidity) # 等待1秒 time.sleep(1) ``` 以上代码的两个关键点是使用requests.Session保存登录后的会话信息,以及使用json模块解析JSON数据。其他详细的代码实现可能需要根据实际情况进行调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
1153 浏览 1 评论
584浏览 6评论
480浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
465浏览 5评论
466浏览 4评论
441浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 21:19 , Processed in 1.121919 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号