物联网比赛代码

一.爬虫爬取天气网站信息

import requests #向网址发起网络请求获取网页数据
from lxml import etree
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
#1.获取实时的天气信息 从天气网站中获取
url = 'https://www.tianqi.com/nanjing/'
#2.怎么从网站中获取天气? 爬虫下载天气数据
response = requests.get(url,headers=headers)
#3.筛选出我需要的天气信息 xpath筛选工具
html = etree.HTML(response.text) #数据打包解析
weather_list=html.xpath('//dl[@class="weather_info"]//text()')
weather_text=''.join(weather_list)
print(weather_text)

二.记录步数

with open("v.txt", 'r') as file:
    v = file.readline()
v = float(v)



with open('acc.txt', 'r') as file:
    line = file.readline()  # 读取文件中的第一行
    t = file.readlines(2)
    t = float(t[0].strip())
    t = t / 12 / 100
    data_list = line.strip().split()  # 去除空格并按空格分隔数据
    data_list = data_list[:11]  # 只保留前12个数据

for acc in data_list:
    acc = float(acc)
    sum = v * t + 0.500 * acc * t * t
    v = acc * t
    file = open("v.txt", "r+")
    file.seek(0)
    file.write(str(v))
    file.truncate()
    file.close()
stepnum = int(sum /0.5)

    # 检查并更新txt中的数值

with open('distance.txt', 'r+') as file:
    value = float(file.read())
    file.seek(0)  # 将文件指针移回文件开头
    file.write(str(value + sum))
    file.truncate()  # 清空文件指针之后的内容

with open('stepnum.txt', 'r+') as file:
    value = int(file.read())
    file.seek(0)  # 将文件指针移回文件开头
    file.write(str(value + stepnum))
    file.truncate()  # 清空文件指针之后的内容

三.录音

import pyaudio
import wave

CHUNK = 512
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 4
WAVE_OUTPUT_FILENAME = "output.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                input_device_index=0, #一定要指定好输入设备,
                frames_per_buffer=CHUNK)

print("recording...")

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print("done")

stream.stop_stream()
stream.close()
p.terminate()

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()

四.读取文件内容,并将中文输出

import re

# 定义输入文件路径
input_file = 'input.txt'

# 读取输入文件内容
with open(input_file, 'r', encoding='utf-8') as f:
    content = f.read()

# 使用正则表达式匹配中文字符
pattern = re.compile(r'[^\u4e00-\u9fa5]')
new_content = re.sub(pattern, '', content)

# 定义输出文件路径
output_file = 'input2.txt'

# 将修改后的内容写入输出文件
with open(output_file, 'w', encoding='utf-8') as f:
    f.write(new_content)

print("内容修改完成,并已保存至修改后的文件:{}".format(output_file))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值