网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
一、前言
最近几个月里,我一直在学习网络爬虫方面的知识,每有收获都会将所得整理成文发布,不知不觉已经发了7篇日志了:
网络爬虫学习:从百度搜索结果抓取标题、链接、内容,并保存到xlsx文件中
网络爬虫学习:从新浪新闻搜索抓取所有新闻结果的标题、链接、内容、来源、时间
网络爬虫学习:POST方式从腾*新闻搜索结果获取标题、链接、内容、来源、时间
网络爬虫学习:多线程爬取,并将结果更新到主线程UI上
网络爬虫学习:应用selenium从搜*狐搜索爬取新闻结果的数据
网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开
网络爬虫学习:借助DeepSeek完善爬虫软件,增加停止任务功能
这两天,我又解决了模拟鼠标右键点击的问题,特记录以备忘。
二、问题描述
在完成第一个爬虫软件之后,我又开始制作第二个爬虫软件,这个软件是为我自己准备的一个专用工具,目的是从特定的web应用中导出查询到的数据。在这个应用查询数据后,要点击页面中的导出按钮才能将数据导出。点击按钮后在页面上会展示一个超链接,需要点击这个超链接后才能将数据文件保存到本地电脑中。
这个链接既可以用鼠标左键点击弹出浏览器的下载框进行下载,也可以用鼠标右键点击后选择“将链接另存为”菜单项,弹出Windows系统的“另存为”窗口,进行下载。
由于我还不会模拟鼠标右键点击,于是决定选择往这个方向研究。
注意:我开发的爬虫软件调用的Edge浏览器,鼠标右键点击弹出的菜单中,显示的是“将链接另存为”,在其它的浏览器(如360浏览器),显示的菜单名有所不同。
三、借助DeepSeek获取解决办法
我之前已经尝试过借助DeepSeek来解决问题了,效果还不错,这次也一样,将问题抛给DeepSeek,让它帮我想办法。这次我同样是问了3次,就解决了问题。
第1问:“我正在尝试用selenium做一个登录网页并进行自动操作的小软件,软件需要实现模拟鼠标右键点击,并选中菜单中的“将链接另存为”菜单项,请问我该怎么实现此功能。”
稍候数秒,DeepSeek给出了答案,建议我使用Selenium的ActionChains模拟右键点击,然后使用PyAutoGUI或AutoIt等工具选择“将链接另存为”菜单项。DeepSeek给出的示例用的PyAutoGUI库,这个库刚好我的电脑里也装了,只是我对这个库不了解一直没用过,这次我便用照着示例修改了我的软件,确实实现了模拟右键点击功能。
右键点击是实现了,菜单也出现了,但是示例中出现的 pyautogui.press('down') 要根据需要按多次的操作,这种死板的操作我不喜欢,因为右键菜单可能会因为安装了一些插件后发生变化,如果在不同的电脑上,因为安装的插件不同,“将链接另存为”菜单项的位置也不同,那该怎么办呢?
于是我提出第2问:“此方法经过测试有用,不过我有一个新的问题。就是这个方法只适用于菜单项目固定的情况,如果因为安装了新的插件导致“将链接另存为”菜单项位置发生变化,又该怎么办?”
DeepSeek提供了3个方案,其中有两个方案都使用到了PyAutoGUI库,我选择了方案1。
使用方案1,需要手工将浏览器右键菜单项截图,然后从中剪裁出“将链接另存为”菜单项并保存为png文件(文件名save_link_as.png)。
实现点击“将链接另存为”菜单项后就弹出Windows系统的“另存为”窗口了。但接下来怎么做呢,可能DeepSeek不清楚点击“将链接另存为”菜单项,会出现怎样的情形,因此它没有猜到我接着要干啥。
无奈,我只得提出第3问:“感谢你的答案,我已经能够实现模拟右键并点击“将链接另存为”菜单项了,不过接下来我又遇到了一个新问题。点击“将链接另存为”菜单项后,会弹出“另存为”窗口,需要用户在这个窗口中选择文件保存的路径,并命名文件名称。这些操作我都希望通过软件自动进行。我想在软件中设置好文件路径和文件名,当弹出“另存为”窗口后,通过软件将文件路径和文件名填到窗口对应位置,然后点击“保存”按钮,完成文件的保存操作。”
DeepSeek又给了3个方法,方法1又用到了PyAutoGUI库,当然选它啦,。
四、功能实现
借助DeepSeek的答案,我实现了模拟右键点击,将链接指向的文件保存到了本地,这里以右键点击百度首页中的logo图标,将其指向的htm文件保存到本地为示例,说明功能的实现(完整代码见本文第五部分):
1.设置文件将要保存的路径及文件名。
htm文件将要保存在当前工作目录下的results子目录中,事先将路径和文件名设置好。
# 获取当前工作路径
work_path = os.getcwd()
print(work_path)
# 检查当前工作路径下是否有results子目录,如没有就创建
subdirectory_name = os.path.join(work_path, "results")
if not os.path.exists(subdirectory_name):os.makedirs(subdirectory_name)
# 生成文件路径
file_path = os.path.join(subdirectory_name, "baidu_logo.htm")
print(file_path)
2.配置浏览器
我选择的系统自带的Edge浏览器,同时提前下载了对应版本的驱动文件并保存在了工作目录下的drivers子目录中。
# 配置 Selenium 浏览器驱动
path_to_executable = os.path.abspath("drivers/msedgedriver.exe") # 指定驱动路径(驱动已提前下载到当前工作路径子目录drivers下)
service = Service(executable_path=path_to_executable)
driver = webdriver.Edge(service=service)
# driver.maximize_window() # 全屏
driver.set_window_size(1200, 800) # 指定分辨率
关于如何下载驱动文件msedgedriver.exe,详见我的另外一篇日志。
网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开
3.打开百度首页,并选中logo图片
# 在浏览器中打开百度首页
driver.implicitly_wait(5)
driver.get("https://www.baidu.com")
time.sleep(3)# 选中百度首页中的logo图片
element = driver.find_element(By.XPATH, "//*[@id='lg']/img")
4.通过selenium库的ActionChains类模拟鼠标右键点击
注意:由于软件运行速度很快,而浏览网页响应较慢,因此在代码的多个地方插入了time.sleep方法,进行延迟,以免页面还没有显示,就执行了相关的点击之类的代码。延迟的时间需要根据网络情况进行调整。
# 创建ActionChains对象
action = ActionChains(driver)
# 模拟鼠标右键点击
action.context_click(element).perform()
# 等待菜单弹出
time.sleep(1)
5.将百度logo图片链接的htm文件保存到本地
# 指定“将链接另存为”菜单项的图片文件
template_image = 'save_link_as.png' # 此图片文件需要手工截取Edge浏览器右键菜单中的“将链接另存为”菜单项,保存为图片文件
# 使用图像识别查找菜单项,查找图片在屏幕上的位置
location = pyautogui.locateCenterOnScreen(template_image, confidence=0.8) # 需要OpenCV支持
if location:print(f"找到菜单项,位置为: {location}")time.sleep(3)# 点击菜单项pyautogui.click(location)# 等待“另存为”窗口弹出time.sleep(1)# 模拟按键 Shift + Home(选中所有文本)pyautogui.hotkey('shift', 'home')# 模拟按键 Delete(删除选中的文本)pyautogui.press('delete')# 定位“文件名”输入框并填写文件路径和文件名pyautogui.write(file_path)time.sleep(3)# 按下回车键确认保存pyautogui.press('enter')time.sleep(1)# 点击“保存”按钮,使用图像识别定位按钮位置save_button_location = pyautogui.locateCenterOnScreen('save_button.png') # 此图片文件需要手工截取“另存为”窗口中的“保存”按钮,保存为图片文件if save_button_location:pyautogui.click(save_button_location)
else:print("未找到菜单项")
这部分的代码中有两个png文件,都是需要提前准备的。
save_link_as.png:需要手工将浏览器右键菜单项截图,然后从中剪裁出“将链接另存为”菜单项并保存为png文件。
save_button.png:需要手工将“另存为”窗口截图,然后从中剪裁出“保存”按钮并保存为png文件。
最终的实现效果如下:
1.打开百度首页模拟鼠标右键点击logo图片。
2.点击“将链接另存为”菜单项,弹出“另存为”窗口,将事先设置好的路径和文件名填入窗口的文件名文本框中。
3.htm已保存到本地
五、代码展示
最后放上示例代码供参考,可以直接运行。
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service
from selenium.webdriver.common.action_chains import ActionChains
import pyautogui
import os# 获取当前工作路径
work_path = os.getcwd()
print(work_path)
# 检查当前工作路径下是否有results子目录,如没有就创建
subdirectory_name = os.path.join(work_path, "results")
if not os.path.exists(subdirectory_name):os.makedirs(subdirectory_name)
# 生成文件路径
file_path = os.path.join(subdirectory_name, "baidu_logo.htm")
print(file_path)# 配置 Selenium 浏览器驱动
path_to_executable = os.path.abspath("drivers/msedgedriver.exe") # 指定驱动路径(驱动已提前下载到当前工作路径子目录drivers下,相关方法见我的另外一篇日志)
service = Service(executable_path=path_to_executable)
driver = webdriver.Edge(service=service)
# driver.maximize_window() # 全屏
driver.set_window_size(1200, 800) # 指定分辨率# 在浏览器中打开百度首页
driver.implicitly_wait(5)
driver.get("https://www.baidu.com")
time.sleep(3)# 选中百度首页中的logo图片
element = driver.find_element(By.XPATH, "//*[@id='lg']/img")
# 创建ActionChains对象
action = ActionChains(driver)
# 模拟鼠标右键点击
action.context_click(element).perform()
# 等待菜单弹出
time.sleep(1)# 使用PyAutoGUI模拟右键点击,弹出菜单后,选择“将链接另存为”菜单项
# 注意:PyAutoGUI的坐标和操作依赖于屏幕分辨率
# 指定“将链接另存为”菜单项的图片文件
template_image = 'save_link_as.png' # 此图片文件需要手工截取Edge浏览器右键菜单中的“将链接另存为”菜单项,保存为图片文件
# 使用图像识别查找菜单项,查找图片在屏幕上的位置
location = pyautogui.locateCenterOnScreen(template_image, confidence=0.8)
if location:print(f"找到菜单项,位置为: {location}")time.sleep(3)# 点击菜单项pyautogui.click(location)# 等待“另存为”窗口弹出time.sleep(1)# 模拟按键 Shift + Home(选中所有文本)pyautogui.hotkey('shift', 'home')# 模拟按键 Delete(删除选中的文本)pyautogui.press('delete')# 定位“文件名”输入框并填写文件路径和文件名pyautogui.write(file_path)time.sleep(3)# 按下回车键确认保存pyautogui.press('enter')time.sleep(1)# 点击“保存”按钮,使用图像识别定位按钮位置save_button_location = pyautogui.locateCenterOnScreen('save_button.png') # 此图片文件需要手工截取“另存为”窗口中的“保存”按钮,保存为图片文件if save_button_location:pyautogui.click(save_button_location)
else:print("未找到菜单项")time.sleep(2)
driver.quit()
相关文章:
网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
一、前言 最近几个月里,我一直在学习网络爬虫方面的知识,每有收获都会将所得整理成文发布,不知不觉已经发了7篇日志了: 网络爬虫学习:从百度搜索结果抓取标题、链接、内容,并保存到xlsx文件中 网络爬虫学…...
[原创](Modern C++)现代C++的关键性概念: 妙用std::reference_wrapper, 让std::list容器具有随机访问功能.
[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse…...
智享AI直播三代系统,马斯克旗下AI人工智能直播工具,媲美DeepSeek!
智享AI直播三代系统,马斯克旗下AI人工智能直播工具,媲美DeepSeek! 在科技飞速发展的当下,人工智能正以前所未有的态势重塑着各个行业的格局。直播领域,作为信息传播与商业交互的前沿阵地,也在AI技术的赋能下迎来了颠覆…...
2.19学习记录
Web easyupload3.0 这是一道构造.htaccess文件的传马 如下: <FilesMatch "jpg">SetHandler application/x-httpd-php </FilesMatch>.htaccess文件可以作为一个解释器,可以将传进去的图片马改为php马上传之后再传个图片马&#…...
RT-Thread+STM32L475VET6实现呼吸灯
文章目录 前言一、板载资源资源说明二、具体步骤1.新建rt_thread项目2. 打开PWM设备驱动3. 在Stm32CubeMX配置定时器3.1打开Stm32CubeMX3.2 使用外部高速时钟,并修改时钟树3.3打开定时器1,并配置通道一为PWM输出模式(定时器根据自己需求调整)3.4 打开串口…...
SpringBoot 项目配置动态数据源
目录 一、前言二、操作1、引入依赖2、配置默认数据库 13、定义数据源实体和 Repository4、定义动态数据源5、配置数据源6、定义切换数据源注解7、定义切面类8、使用注解切换数据源 一、前言 通过切面注解方式根据不同业务动态切换数据库 二、操作 1、引入依赖 <dependen…...
动态订阅kafka mq实现(消费者组动态上下线)
和上篇文章 动态订阅rocket mq实现(消费者组动态上下线) 目的一致,直接上代码 /*** Kafka topic container集合*/private static final Map<String, ConcurrentMessageListenerContainer<String, String>> topics new HashMap<>();public void r…...
Coze扣子怎么使用更强大doubao1.5模型
最近,豆包刚刚发布了最新的doubao1.5系列模型,并且加量不加价。 在性能极大进步的情况下,价格还与之前一致。真是业界良心了。 在同样的价格下,肯定要使用性能更强大的模型嘛 于是我准备把所有的智能体和工作流切换到doubao1.5…...
Zookeeper 和 Redis 哪种更好?
目录 前言 : 什么是Zookeeper 和 Redis ? 1. 核心定位与功能 2. 关键差异点 (1) 一致性模型 (2) 性能 (3) 数据容量 (4) 高可用性 3. 适用场景 使用 Zookeeper 的场景 使用 Redis 的场景 4. 替代方案 5. 如何选择? 6. 常见误区 7. 总结 前言…...
22.4.3.2 TCP/UDP连接信息
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 通过IPGlobalProperties的方法可以获得有关TCP和UDP连接的信息: GetActiveTcpConnections方法获得所有的TCP连接的信息…...
【Node.js】express框架
目录 1初识express框架 2 初步使用 2.1 安装 2.2 创建基本的Web服务器 2.3 监听方法 2.3.1 监听get请求 2.3.2 监听post请求 2.4 响应客户端 2.5 获取url中的参数(get) 2.5.1 获取查询参数 2.5.2 获取动态参数 2.6 托管静态资源 2.6.1 挂载路径前缀 2.6.2 托管多…...
拦截器VS过滤器:Spring Boot中请求处理的艺术!
目录 一、拦截器(Interceptor)和过滤器(Filter):都是“守门员”!二、如何实现拦截器和过滤器?三、拦截器和过滤器的区别四、执行顺序五、真实的应用场景六、总结 🌟如果喜欢作者的讲…...
分布式架构与XXL-JOB
目录 先了解什么是任务调度? 什么是分布式任务调度? 了解XXL-JOB分布式任务调度平台 如何搭建XXL-JOB? 分片广播 作业分片方案 最近学习在项目的媒资管理模块如何高效处理大量视频,上传单个视频可能涉及到转码,…...
6121A 音频分析仪
6121A 音频分析仪 音频信号产生 音频信号分析 国产 6121A是具有音频信号产生和音频信号分析功能的测试仪器,适用于语音性能测试和音频功放测试等领域,满足电台、移动通信、音响设备和水声通信设备对频响、谐波失真和信噪比等指标的测试需求ÿ…...
什么是幂等性?
一.幂等性 什么是幂等性? 在计算机科学和数学领域中,” 幂等性 “虽然源于相同的概念,但其应用和具体含义有所不同 在数学中:幂等性是一个代数性质,描述的是一个操作或函数在多次应用后结果不变的特性 在分布式系统…...
2025/2/19机试准备
1.%c不忽略空格( ) 2.启示 #include <stdio.h> #include <string.h> int main(){char str[100]{0};int x,y;int n1,n2,n3;int i;while(scanf("%s",str)!EOF){istrlen(str);if(i%30){//12446-2n1i/3;n3i/3;n2i/32;}else if(i%31){…...
【wrk】wrk 压测工具入门
1. 简介 wrk 是我无意间发现的一款简单好用的 HTTP 接口性能测试工具,目前在 Github 上已经有 38k 的 star 数了! ⭐ Github地址:https://github.com/wg/wrk 2. 安装 环境要求: windows10 平台安装过 ubuntu 等 Linux 子系统 …...
12.1 Android中协程的基本使用
文章目录 前言1、导入依赖2、使用协程获取服务器中的数据2.1 定义请求回调结果的数据类2.2 网络请求 3、网络回调结构4、通过ViewModel处理网络请求数据 前言 在使用协程的时候一直没有一个具体的概念,只知道协程能够使得异步操作等同于同步操作,且不会…...
华为 eNSP:MSTP
一、MSTP是什么 MSTP是多业务传送平台(Multi-Service Transport Platform)的缩写,它是一种基于SDH(同步数字体系)技术的传输网络技术,用于同时实现TDM、ATM、以太网等多种业务的接入、处理和传送。 MSTP技…...
HMSC联合物种分布模型在群落生态学中的贝叶斯统计分析应用
联合物种分布模型(Joint Species Distribution Modelling,JSDM)在生态学领域,特别是群落生态学中发展最为迅速,它在分析和解读群落生态数据的革命性和独特视角使其受到广大国内外学者的关注。在学界不同研究团队研发出…...
LangChain大模型应用开发:消息管理与聊天历史存储
介绍 大家好,博主又来给大家分享知识了。今天要给大家分享的是LangChain中的消息管理与聊天历史存储。 在LangChain里,消息管理可精细区分用户、助手、系统等不同角色消息,有序调度处理,让交互更顺畅。而聊天历史存储则赋予模型 …...
flink-cdc同步数据到doris中
1 创建数据库和表 1.1 数据库脚本 -- 创建数据库eayc create database if not exists ods_eayc; -- 创建数据表2 数据同步 2.1 flnk-cdc 参考Flink CDC实时同步MySQL到Doris Flink CDC 概述 2.1.1 最简单的单表同步 从下面的yml脚本可以看到,并没有doris中创建…...
轻量级在线ETL数据集成工具架构设计与技术实现深度剖析
在当今数字化时代,企业面临着海量异构数据的整合挑战。ETL(Extract, Transform, Load)工具作为数据集成的核心,负责将分散在不同数据源中的数据进行抽取、转换和加载,以构建统一的数据视图。本文将深入剖析一款基于诺依框架开发的在线ETL数据集成工具,重点阐述其架构设计…...
【Linux专栏】find命令+同步 实验
Linux & Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.实验背景 需要把一个目录中所有文件,按照目录把某个时间点之前的同步到一个盘中,之后的同步备份到另一个盘中,实现不同时间段的备份。 本次实现目标:把common文件夹中 2025年之后的含文件夹…...
15-最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 方法一:使用字符串分割 可以使用字符串的 split 方法将字符串按空格分割…...
DeepSeek和ChatGPT的全面对比
一、模型基础架构对比(2023技术版本) 维度DeepSeekChatGPT模型家族LLAMA架构改进GPT-4优化版本参数量级开放7B/35B/120B闭源175B位置编码RoPE NTK扩展ALiBiAttention机制FlashAttention-3FlashAttention-2激活函数SwiGLU ProGeGLU训练框架DeepSpeedMeg…...
LlamaFactory可视化模型微调-Deepseek模型微调+CUDA Toolkit+cuDNN安装
LlamaFactory https://llamafactory.readthedocs.io/zh-cn/latest/ 安装 必须保证版本匹配,否则到训练时,找不到gpu cuda。 否则需要重装。下面图片仅供参考。因为cuda12.8装了没法用,重新搞12.6 cudacudnnpytorch12.69.612.6最新…...
什么是网关,网关的作用是什么?网络安全零基础入门到精通实战教程!
1. 什么是网关 网关又称网间连接器、协议转换器,也就是网段(局域网、广域网)关卡,不同网段中的主机不能直接通信,需要通过关卡才能进行互访,比如IP地址为192.168.31.9(子网掩码:255.255.255.0)和192.168.7.13(子网掩码…...
Linux基础25-C语言之分支结构Ⅱ【入门级】
用if语句实现分支结构 单分支:if… 语法: //语法1:舍弃{} if(条件表达式);单语句; //语法2:必须保留{} if(条件表达式) {单语句或者复合语句; }流程图 功能 若表达式值为真(非0),则执行表达式…...
实战开发coze应用-姓氏头像生成器(上)
欢迎关注【AI技术开发者】 上次,我们开发了一个对话形式的头像生成器智能体(Agents),广受大家欢迎。 同时也接收到一些用户的反馈,生成前无法看到头像样式、初次使用不会用等等。 对此,我准备使用Coze开…...
企业内部知识库:安全协作打造企业智慧运营基石
内容概要 作为企业智慧运营的核心载体,企业内部知识库通过结构化的信息聚合与动态化的知识流动,为组织提供了从数据沉淀到价值转化的系统性框架。其底层架构以权限管理为核心,依托数据加密技术构建多层级访问控制机制,确保敏感信…...
uniapp 滚动尺
scale组件代码(部分class样式使用到了uview1.0的样式) <template><view><view class"scale"><view class"pointer u-flex-col u-col-center"><u-icon name"arrow-down-fill" size"26&qu…...
vue3之echarts3D圆柱
vue3之echarts3D圆柱 效果: 版本 "echarts": "^5.1.2" 核心代码: <template><div ref"charts" class"charts"></div><svg><linearGradient id"labColor" x1"0&q…...
SQL 优化工具使用之 explain 详解
一、导读 对于大部分开发人员来说,平常接触的无非就是增删改查这些基本操作,创建存储过程,视图等等都是 DBA 该干的活,但是想要把这些基本操作写的近乎完美也是一件难事。 而 explain 显示了 MySQL 如何使用索引来处理 select 语…...
SpringBoot启动失败之application.yml缩进没写好
修改前: spring前面空格了 报错输出:Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the follow…...
基于SpringBoot+vue粮油商城小程序系统
粮油商城小程序为用户提供方便快捷的在线购物体验,包括大米、面粉、食用油、调味品等各种粮油产品的选购,用户可以浏览商品详情、对比价格、下单支付等操作。同时,商城还提供优惠活动、积分兑换等福利,让用户享受到更多实惠和便利…...
【JavaEE进阶】Spring MVC(3)
欢迎关注个人主页:逸狼 创造不易,可以点点赞吗 如有错误,欢迎指出~ 返回响应 返回静态页面 //RestController Controller RequestMapping("/response") public class ResponseController {RequestMapping("/returnHtmlPage&…...
案例-17.文件上传-阿里云OSS-入门
一.文件上传 我们在OSS页面中找到SDK下载,点击SDK示例,找到帮助文档。 点击JAVA并安装 在安装SDK中找到在Maven项目中加入依赖项(推荐方式) 将其中的依赖复制到pom文件中去。 <dependency><groupId>com.aliyun.oss</groupId><ar…...
java数据结构_优先级队列(堆)_6.2
3. 常用接口 3.1 PriorityQueue的特性 Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue的线性不安全的,PriorityBlockingQueue是线程安全的,这里主要介绍PriorityQueueu。 关于PriorityQueue…...
如何维护和保养直线模组?
直线模组是一种常见的传动机构,被广泛应用到各种各样的设备中,如激光焊接、激光切割、涂胶机、喷涂机、小型数控机床等设备。其保养与维护对于其使用寿命和性能至关重要,为了维护和保养直线模组并确保其使用寿命,可以采取以下措施…...
DeepSeek 助力 Vue 开发:打造丝滑的表单验证(Form Validation)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
java连接redis
1.使用 1.创建java工程 2.引入依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.2.0</version> </dependency> 3. //1.获取jedis对象,把所有对redis的操作都封装到…...
DeepSeek掀起推理服务器新风暴,AI应用迎来变革转折点?
AI 浪潮下,推理服务器崭露头角 在科技飞速发展的当下,AI 是耀眼明星,席卷各行业,深刻改变生活与工作模式,从语音助手到医疗诊断、金融风险预测,AI 无处不在。其发展分数据收集整理、模型训练、推理应用三个…...
宏块划分的原理
宏块划分并不是物理上的划分,而是逻辑上的划分。 宏块的划分是编码器在处理视频帧时的一种逻辑操作,用于将视频帧分解为更小的编码单元,以便后续的预测、变换、量化和编码等操作。视频帧的物理存储方式(如 YUV 数据的存储顺序)并不会因为宏块的划分而发生改变。 接下来,…...
分享8款AI生成PPT的工具!含测评
随着人工智能技术的飞速进步,制作PPT变得愈发便捷,仅需输入主题指令,便能在瞬间获得一份完整的演示文稿。尤其在制作篇幅较长的PPT时,手动编写每一页内容并设计格式和排版,不仅效率低下,而且耗时耗力。 本…...
【NLP算法面经】字节跳动算法岗四面详细面经(★附面题总结★)
【NLP算法面经】字节跳动算法岗四面详细面经(★附面题总结★) 🌟 嗨,你好,我是 青松 ! 🌈 自小刺头深草里,而今渐觉出蓬蒿。 NLP Github 项目推荐: 【AI 藏经阁】&#…...
[AI相关]Unity的C#代码如何简写
是一个某培训机构的飞行棋教学源码 不知道,是否有人想知道怎么可以简写 (这个问AI,DeepSeek也应该找不到答案的) 静态变量 属性引用 单例 注入 一些UnityEvent特性就不说了。。。 IL 注入 运算符号改写...
DeepSeek模型快速部署教程-搭建自己的DeepSeek
前言:在人工智能技术飞速发展的今天,深度学习模型已成为推动各行各业智能化转型的核心驱动力。DeepSeek 作为一款领先的 AI 模型,凭借其高效的性能和灵活的部署方式,受到了广泛关注。无论是自然语言处理、图像识别,还是…...
TaskBuilder创建客户信息文件夹
数据模型创建好之后,我们就可以进行前后端功能的开发了。首先,我们需要创建好客户信息文件夹,以便专门存放与客户信息管理有关的前端文件,操作步骤如下: 点击销售管理示例项目“前端文件”右侧的加号按钮: …...
javaSE学习笔记22-线程(thread)-线程通信、线程池
线程通信 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,…...