python 爬虫 入门 五、抓取图片、视频

目录

一、图片、音频

二、下载视频:


一、图片、音频

        抓取图片的手法在上一篇python 爬虫 入门 四、线程,进程,协程-CSDN博客里面其实有,就是文章中的图片部分,在那一篇文章,初始代码的28,29行,请求了图片。

img_response = requests.get(img_url) # 下载图片

img_stream = BytesIO(img_response.content)

        可以看出仅仅是将 之前获取文本、源代码的.text换为了.content。如果要保存,我们可以使用:

    with open("xxx.jpg", mode="wb") as f:  # jpeg/jpg/png/换请求到的格式f.write(resp.content)

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

        这就不赘述了,抓取音频也很像,这里拿Welcome to the Free Music Archive - Free Music Archive网站做个例子,虽然能直接按钮下载,但咱只学技术。

        打个比方,想下载这个网站的歌曲 但是下载要登录(我没登陆过,不确定登陆后能不能免费下),这个时候就该打开控制台了开始抓包了。通常来说,这种视频、音频的链接都不会开局就加载,而是会在你点击播放时,再向网页请求。

         如果你在网页直接输入这段长长的网址,就能当场播放这段音频,既然如此,我们直接用以下代码就能尝试下载(英语不好,听不懂在说啥。)https://files.freemusicarchive.org/storage-freemusicarchive-org/tracks/3VXD9eyhsZAUy5jjUWLgj3VGXR8ap7x54B6J6Paf.mp3

import requestsurl = "https://files.freemusicarchive.org/storage-freemusicarchive-org/tracks/3VXD9eyhsZAUy5jjUWLgj3VGXR8ap7x54B6J6Paf.mp3"
headers = {# 用户代理,某些网站验证用户代理,微微改一下,如果提示要验证码之类的,使用它"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome""/118.0.0.0 Safari/537.36",
}with requests.get(url=url, headers=headers,) as resp:resp.encoding = "utf-8"  # 当页面乱码改这里print(resp)with open("xxx.mp3", mode="wb") as f:  # 下载源码f.write(resp.content)

二、下载视频:

         下载视频的过程与图片和音频大不一样,较短的视频可以使用和上面相同的方法,但是长视频和视频播放网站用的时其他方法,比如https://www.pexels.com/zh-cn/video/3192166/这个网页中的视频就能用上述方法直接拿下,甚至给的就是下载链接。

        因为一段视频可能有几个G大小,用户又可能会拖动进度条。所以,视频通常会被“切片”,一般来说会1~2秒切做一片,通常最大不会超过20s。每个切片都是一个.ts文件,这些文件通过.m3u8文件组合起来,便是我们平常见的视频了。下面拿西游记做个演示:(其他网站差不多)《西游记86版》电视剧第1集完整版在线播放-星辰影院

基本上大部分网站视频都加密,不过问题不大,就是多一步解密而已 ,因此获取视频的步骤就是:

获取m3u8
根据m3u8获取所有ts
解密
组合所有ts,获得mp4

        开工之前,还有一件事,在目录建一个文件夹,并排除他,以作为ts临时目录,被排除的文件夹里面内容的更新不会引起PyCharm的更新。

 正式开工,编写代码:

import asyncio
import osimport aiofiles
import aiohttp
import requests
from Crypto.Cipher import AES  # 解密
from tqdm.asyncio import tqdm_asynciodef get_m3u8(url, headers):  # 获取m3u8中的所有ts链接m3u8_url = url + '/index.m3u8'with requests.get(url=m3u8_url, headers=headers, ) as resp:resp.encoding = "utf-8"  # 当页面乱码改这里m3u8_text = resp.textm3u8_text = m3u8_text.split("\n")  # 以回车分割m3u8_data = []for i in m3u8_text:  # 遍历m3u8,只找非#开头的ts链接,存到m3u8中if not (i.startswith('#') or i == ''):m3u8_data.append(i)return m3u8_datadef get_key(url, headers):  # 获取密钥key_url = url + '/enc.key'with requests.get(url=key_url, headers=headers, ) as resp:resp.encoding = "utf-8"  # 当页面乱码改这里key = resp.textreturn key.encode('utf-8')async def get_ts(url, name, headers, save_path, aes, ts_ok, num):async with aiohttp.ClientSession() as session:async with session.get(url=url, headers=headers)as resp:async with aiofiles.open(save_path + '/' + name, mode='wb')as f:await f.write(aes.decrypt(await resp.content.read()))  # 下载ts(顺道解密)ts_ok[num] = Trueasync def get_all_ts(urls, names, headers, path, ts_ok, key):  # 协程下载所有tsaes = AES.new(key=key, IV=b'0000000000000000', mode=AES.MODE_CBC)tasks = []for i in range(len(urls)):if not ts_ok[i]:  # 这个没下载呢,添加任务tasks.append(asyncio.create_task(get_ts(urls[i], names[i], headers, path, aes, ts_ok, i)))for done in tqdm_asyncio.as_completed(tasks):  # 带进度条的显示任务await donedef merge_ts(mp4_path, ts_path):  # 组合所有ts为mp4path = ts_path + '\\*.ts'# os.system(f"cat {path} > {mp4_path}")  # mac使用,其他操作系统查找别的合成ts文件方法os.system(f"copy /b {path} {mp4_path}")  # windows使用,其他操作系统查找别的合成ts文件方法# 该方法需求保存时,名字按字母排序if __name__ == "__main__":# 获取m3u8===================================================data_url = "https://hn.bfvvs.com/play/yb8lN7Wb"headers = {# 用户代理,某些网站验证用户代理,微微改一下,如果提示要验证码之类的,使用它"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome""/118.0.0.0 Safari/537.36",}save_path = "C:\\Users\\86135\\PycharmProjects\\pythonProject\\测试\\test"mp4_path = "video.mp4"m3u8 = get_m3u8(data_url, headers)# sava_names = [url_str.rsplit("/", 1)[-1] for url_str in m3u8]  # 获取按/从最右边分割一次后右边的字符串做文件名]sava_names = [f'{i:05d}.ts' for i in range(len(m3u8))]  # 为了合并,保存为00001~00265,以保证字母顺序不变enc_key = get_key(data_url, headers)all_ts_ok = [False] * len(m3u8)loop = asyncio.get_event_loop()loop.run_until_complete(get_all_ts(m3u8, sava_names, headers, save_path, all_ts_ok, enc_key))print(sum(all_ts_ok) / len(all_ts_ok))merge_ts(mp4_path, save_path)

 运行结果,不到半分钟,一段400+MB的视频就下来了。

100%|██████████| 266/266 [00:18<00:00, 14.67it/s]
1.0
C:\Users\86135\PycharmProjects\pythonProject\����\test\00000.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00001.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00002.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00003.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00004.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00005.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00006.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00007.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00008.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00009.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00010.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00011.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00012.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00013.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00014.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00015.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00016.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00017.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00018.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00019.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00020.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00021.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00022.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00023.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00024.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00025.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00026.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00027.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00028.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00029.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00030.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00031.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00032.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00033.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00034.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00035.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00036.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00037.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00038.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00039.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00040.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00041.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00042.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00043.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00044.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00045.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00046.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00047.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00048.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00049.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00050.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00051.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00052.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00053.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00054.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00055.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00056.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00057.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00058.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00059.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00060.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00061.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00062.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00063.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00064.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00065.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00066.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00067.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00068.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00069.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00070.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00071.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00072.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00073.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00074.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00075.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00076.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00077.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00078.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00079.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00080.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00081.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00082.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00083.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00084.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00085.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00086.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00087.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00088.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00089.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00090.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00091.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00092.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00093.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00094.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00095.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00096.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00097.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00098.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00099.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00100.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00101.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00102.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00103.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00104.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00105.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00106.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00107.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00108.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00109.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00110.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00111.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00112.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00113.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00114.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00115.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00116.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00117.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00118.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00119.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00120.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00121.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00122.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00123.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00124.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00125.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00126.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00127.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00128.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00129.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00130.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00131.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00132.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00133.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00134.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00135.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00136.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00137.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00138.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00139.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00140.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00141.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00142.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00143.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00144.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00145.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00146.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00147.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00148.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00149.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00150.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00151.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00152.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00153.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00154.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00155.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00156.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00157.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00158.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00159.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00160.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00161.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00162.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00163.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00164.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00165.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00166.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00167.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00168.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00169.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00170.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00171.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00172.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00173.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00174.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00175.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00176.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00177.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00178.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00179.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00180.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00181.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00182.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00183.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00184.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00185.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00186.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00187.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00188.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00189.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00190.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00191.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00192.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00193.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00194.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00195.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00196.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00197.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00198.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00199.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00200.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00201.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00202.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00203.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00204.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00205.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00206.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00207.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00208.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00209.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00210.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00211.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00212.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00213.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00214.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00215.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00216.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00217.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00218.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00219.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00220.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00221.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00222.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00223.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00224.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00225.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00226.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00227.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00228.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00229.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00230.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00231.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00232.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00233.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00234.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00235.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00236.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00237.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00238.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00239.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00240.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00241.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00242.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00243.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00244.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00245.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00246.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00247.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00248.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00249.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00250.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00251.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00252.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00253.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00254.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00255.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00256.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00257.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00258.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00259.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00260.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00261.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00262.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00263.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00264.ts
C:\Users\86135\PycharmProjects\pythonProject\����\test\00265.ts
�Ѹ���         1 ���ļ���

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461561.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vulnhub靶机——DC-1

#环境 本次环境是利用VMware15搭建 靶机DC-1( https://download.vulnhub.com/dc/DC-1.zip) --192.168.200.131 Kali2021.1--192.168.200 将以上两个操作系统启动&#xff0c;并设置网卡为NAT模式 #信息收集 使用arp-scan对网段进行扫描&#xff0c;探测存活主机 使用nmap…

吴恩达深度学习笔记(10)12.

多任务学习 什么时候多任务学习有意义&#xff1a; 能从共享低级特征中获益&#xff1b;每个任务拥有的数据相当相似&#xff1b;训练一个足够大的神经网络用于所有任务。 目标定位&#xff1a; 分类定位&#xff08;单个对象&#xff09;与检测不同&#xff08;多个对象&…

Android 音量调节流程分析

音量调节流程分析 按下音量键 音量键被按下后&#xff0c;按键事件会一路派发给Acitivity&#xff0c;如果无人拦截并处理&#xff0c;承载当前Activity的显示PhoneWindow类的onKeyDown()以及onKeyUp()函数将会被处理&#xff0c;从而开始通过音量键调整音量的处理流程&#x…

LLMs在股票投资组合崩溃中的时间关系推理

1. 引言 想象一下&#xff0c;你是一位投资经理&#xff0c;管理着一个多元化的股票投资组合。突然&#xff0c;一场前所未有的全球性事件发生了&#xff0c;比如2007年的金融危机或2020年的新冠疫情&#xff0c;这可能会对你的投资组合造成重大影响。传统的投资组合崩溃检测方…

o1驾驶无人机后空翻,OpenAI开发者日惊掉下巴!2分钟爆改代码写App

【导读】OpenAI伦敦开发者日上&#xff0c;首次曝出了o1五大核心能力&#xff0c;还有图像理解。o1两分钟构建应用驾驶无人机、电话订餐、讲解太阳系&#xff0c;现场演示让所有开发者沸腾。 完整版o1的解禁&#xff0c;离我们不远了&#xff01; 就在刚刚举办的OpenAI伦敦开…

利用AWS服务轻松迁移数据上云

在数字化转型的浪潮中&#xff0c;越来越多的企业意识到将数据迁移至云端的重要性。云服务不仅能够提供更高的灵活性和可扩展性&#xff0c;还能显著降低IT成本。AWS&#xff08;Amazon Web Services&#xff09;作为全球领先的云服务提供商&#xff0c;为企业提供了一系列高效…

期货跟单、量化交易模拟演示系统

演示版可直接下载本文绑定资源。 一、跟单下单 在“排行榜”中选择要跟单的用户&#xff0c;合约可以跟全部&#xff0c;也可以指定跟该用户的某一合约操作&#xff0c;选定跟单的倍数&#xff08;操作手数的倍数&#xff09;/手数&#xff08;指定手数&#xff0c;可以不是对…

界面控件DevExpress WPF中文教程:Data Grid——卡片视图概述

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

【数据结构二叉树】补充:C实现二叉树的层次遍历

1、层次遍历 按层次遍历二叉树的方式&#xff1a;按照“从上到下&#xff0c;从左到右”的顺序遍历二叉树&#xff0c;即先遍历二叉树的第一层的结点&#xff0c;然后是第二层的结点&#xff0c;直到最底层的结点&#xff0c;对每一层的遍历按照从左到右的次序进行。 2、层次…

供应商图纸外发:如何做到既安全又高效?

供应商跟合作伙伴、客户之间会涉及到图纸外发的场景&#xff0c;这是一个涉及数据安全、效率及合规性的重要环节。供应商图纸发送流程一般如下&#xff1a; 1.申请与审批 采购人员根据需要提出发放图纸的申请并提交审批&#xff1b; 采购部负责人审批发放申请&#xff0c;确…

MySQL 9从入门到性能优化-系统信息函数

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…

【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频

qt项目的实现和介绍 1.第一个qt项目  &#xff08;1).创建qt工程    [1].创建一个存放qt的目录    [2].新建一个qt工程    [3].编译第一个工程    发生错误时的解决方式 二.QT文件介绍  (1).工程中文件简单介绍  (2).项目文件代码流程介绍    [1].添…

推荐一款开源的免费PDF编辑工具:CubePDF Utility

CubePDF Utility是一款功能强大的开源免费PDF编辑器&#xff0c;它采用了基于缩略图的界面设计&#xff0c;为用户提供了直观且高效的PDF编辑体验。该软件特别针对那些希望以简单直观方式编辑 PDF 文件的用户而设计&#xff0c;支持多种操作&#xff0c;如合并、提取、拆分、更…

shodan7,shodan参数使用,常用端口,Google语法

参数使用 alert shodan alert -h(查看帮助文档 这个就是怎么去配置ip监控)我们能在web页面上面去做&#xff0c;而且更加方便&#xff0c;所以就不多讲了 info shodan info(查看你查询的扫描的一些次数每个账户都是每个月有限制次数的)domain shodan domain(查询域名信息…

不是她所期待的那个人

今天那&#xff0c;我又来写用AI小说辣。 从最初的喜欢到最后的讨厌&#xff0c;她对他的感觉经历了一段奇妙的变化。一开始&#xff0c;当她第一次看到他时&#xff0c;她被他的外表所吸引。他高大英俊&#xff0c;阳光活泼的笑容总是让她心生好感。她喜欢和他在一起的感觉&am…

智能合约分享

智能合约练习 一、solidity初学者经典示例代码&#xff1a; 1.存储和检索数据&#xff1a; // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // 声明 Solidity 编译器版本// 定义一个名为 SimpleStorage 的合约 contract SimpleStorage {// 声明一个公共状态变量 d…

硬件在环仿真建模之电路拓扑建模与数学建模

我们需要先明确一个问题&#xff0c;什么是电路拓扑式建模&#xff08;后面简称拓扑建模&#xff09;和数学建模&#xff1f; 电力电子系统的拓扑建模&#xff0c;从大类上都可以归入为物理式建模&#xff08;Physics-Based Modeling&#xff09;,物理式建模的最大特点就是用户…

根据提交的二维数据得到mysql建表和插入数据实用工具

根据提交的二维数据得到mysql建表和插入数据实用工具,这是重构版本(之前有过)。 会通过数据的长度&#xff0c;类型&#xff0c;是否数字&#xff0c;是否唯一等做判断&#xff0c;且每千条一个插入语句以优化性能。 <?php //整理与分享&#xff1a;yujianyue<1505859…

从0开始electron+vue2搭建环境

使用环境&#xff1a;node版本16.16.0 目录 搭建vue项目安装electron打包electron 搭建vue项目 已有vue2的环境直接进项安装electron步骤 没有的请先移动到这里查看 vue2脚手架搭建项目流程 我就不另外记录了 安装electron 直接运行 vue add electron-builder安装完成后&…

Qt——QWidget

一.控件概述 Widget 是 Qt 中的核心概念. 英文原义是 "小部件"&#xff0c;我们也把它翻译为 "控件" 。 控件是构成⼀个图形化界面的基本要素。 像上述示例中的, 按钮, 列表视图, 树形视图, 单行输入框, 多行输入框, 滚动条, 下拉框等, 都可以称为 "…