Python爬虫RemoteDisconnected错误全解析:从请求伪装到Selenium实战
1. 项目概述当爬虫遭遇“RemoteDisconnected”的当头一棒“RemoteDisconnected: Remote end closed connection without response”这个报错对于任何一个写过网络爬虫的朋友来说都像是一个熟悉的“老朋友”只不过每次见面都让人头疼。它直白地告诉你“对方服务器没搭理你直接把连接给掐了。” 这通常不是你的代码逻辑有根本性错误而是你的请求行为触发了目标服务器的某种防御机制或者遇到了不稳定的网络环境。尤其是在如今反爬策略日益严密的背景下无论是用基础的urllib、流行的requests还是为了绕过动态内容不得不上的selenium都可能撞上这堵墙。这个报错背后往往是一场关于请求频率、请求头完整性、会话管理和超时策略的攻防战。今天我们就来彻底拆解这个报错从根因分析到实战解决方案让你不仅能快速修复问题更能理解背后的原理打造出更健壮、更“礼貌”的爬虫。2. 错误根因深度剖析服务器为什么“不理你”在开始动手修复之前我们必须先搞清楚服务器端发生了什么。RemoteDisconnected本质上是一个TCP/IP层面的连接异常由客户端你的爬虫的HTTP库如urllib3,httplib抛出意味着在等待服务器响应的过程中服务器端的TCP连接非正常关闭了。这通常不是友好的“404 Not Found”或“403 Forbidden”而是一种更底层、更“粗暴”的拒绝。2.1 触发此错误的四大常见场景根据我的经验这个报错主要源于以下四类情况理解它们是你制定应对策略的基础请求频率过高最普遍原因这是新手最容易踩的坑。如果你在循环中不加任何延迟地连续发送请求对于服务器来说这无异于一次DDoS攻击的迷你版。服务器为了保护自身资源会主动断开来自同一IP的异常高频连接。即使用户代理User-Agent伪装得再好过于密集的请求本身就是一个巨大的红色警报。请求头Headers不完整或过于简单一个“裸奔”的HTTP请求只带个URL在现代互联网上非常扎眼。许多网站会检查请求头中的关键字段如User-Agent必须看起来像真实浏览器、Accept、Accept-Language、Referer有时很重要以及Connection。缺失或使用默认值如python-urllib/3.x会立刻暴露你爬虫的身份。有些高级反爬系统如小红书API动态签名所需的x-s,x-t甚至需要加密或动态生成的Header缺失直接导致连接被重置。服务器会话Session或Cookie管理不当对于一些需要登录或维护会话状态的网站如果你没有正确处理Cookie服务器可能无法识别你的连续请求属于同一会话从而中断连接。或者服务器返回了一个需要客户端处理的跳转如302而你的爬虫没有遵循导致后续请求状态混乱。服务器不稳定或网络问题这属于不可控因素。目标服务器可能临时过载、维护或者你的网络连接本身不稳定导致TCP连接意外中断。虽然概率相对较低但在排查时也需要考虑。2.2 从热词看行业痛点为什么urllib不行了搜索热词中提到了“纯urllib方式无法工作。我来改用selenium”这非常典型。urllib是Python的标准库轻量但“老实”。它发送的HTTP请求头相对简单默认行为容易被识别。当网站采用JavaScript渲染动态内容、或对请求头有复杂校验时urllib就显得力不从心频繁触发RemoteDisconnected。开发者转而使用selenium或playwright是因为它们驱动真实浏览器能完美模拟人类操作的所有网络特征包括完整的Headers、Cookie管理、JS执行从而绕过很多基于请求特征的反爬。但这带来了新的复杂度资源消耗大、速度慢。因此我们的目标应该是在能用轻量级库requests时通过精细化配置解决在不得已时再动用浏览器自动化工具。3. 核心解决方案与实战配置针对上述根因我们可以从请求模拟、频率控制、异常处理和工具升级四个维度构建防御体系。3.1 请求头Headers的精细化伪装这是成本最低、效果最显著的优化。你的目标是将爬虫的请求伪装成来自一个普通浏览器的访问。基础必备头信息一个完整的请求头应该至少包含以下字段。你可以通过浏览器的开发者工具F12 - Network - 点击一个请求 - Headers复制真实浏览器的值。import requests headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36, Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,*/*;q0.8, Accept-Language: zh-CN,zh;q0.9,en;q0.8, Accept-Encoding: gzip, deflate, br, # 注意requests自动处理解码这里写上与浏览器一致即可 Connection: keep-alive, Upgrade-Insecure-Requests: 1, Sec-Fetch-Dest: document, Sec-Fetch-Mode: navigate, Sec-Fetch-Site: none, Sec-Fetch-User: ?1, Cache-Control: max-age0, }实操心得动态User-Agent准备一个列表每次请求随机选取一个避免单一UA被标记。列表中可以包含不同浏览器Chrome, Firefox, Safari和不同版本的字符串。Referer的重要性对于分页或链式访问的页面合理设置Referer头值为上一个页面的URL能极大增加请求的“真实性”。例如爬取文章列表的第二页时将Referer设置为第一页的URL。工具辅助热词中提到的 “ModHeader”、“Simple Modify Headers” 这类浏览器插件主要用于手动测试阶段。你可以先在浏览器中配置好理想的Headers用插件确保能正常访问目标页面然后再将这些Headers移植到爬虫代码中这是一个非常高效的工作流。3.2 请求频率控制与会话保持粗暴的循环是爬虫的大忌。我们必须让爬虫“慢下来”并保持连贯的“身份”。1. 使用time.sleep()加入随机延迟这是最基本的方法。在两个请求之间强制等待一段时间。import time import random for url in url_list: response requests.get(url, headersheaders) # 处理响应... # 等待一个随机时间模拟人类阅读间隔 sleep_time random.uniform(1, 3) # 随机等待1到3秒 time.sleep(sleep_time)2. 使用requests.Session()对象Session对象能自动管理Cookie并在同一会话内保持一些连接参数比单次requests.get更高效、更稳定。import requests session requests.Session() # 可以为session统一设置headers session.headers.update(headers) # 首次请求Session会自动保存服务器返回的Cookies login_response session.post(login_url, datacredentials) # 后续请求会自动携带Cookies大大降低被断开连接的风险 profile_response session.get(profile_url)3. 设置合理的超时Timeout永远不要使用默认的无限等待超时。这会导致程序在遇到问题时永远挂起。设置连接超时和读取超时。try: # (连接超时 读取超时) 单位秒 response session.get(url, timeout(5, 10)) except requests.exceptions.Timeout: print(f请求 {url} 超时) except requests.exceptions.ConnectionError as e: print(f连接错误: {e}) # 这里很可能捕获到由于RemoteDisconnected引发的ConnectionError3.3 健壮的异常处理与重试机制即使配置完善网络世界仍有不确定性。一个健壮的爬虫必须能处理异常并优雅地重试。使用tenacity或retrying库实现自动重试我强烈推荐使用tenacity库它提供了强大且灵活的重试装饰器。import requests from tenacity import retry, stop_after_attempt, wait_exponential, retry_if_exception_type # 定义重试策略遇到连接错误或超时重试最多3次等待时间指数增长 retry( stopstop_after_attempt(3), waitwait_exponential(multiplier1, min2, max10), # 等待 2^1, 2^2... 秒最多10秒 retryretry_if_exception_type((requests.exceptions.ConnectionError, requests.exceptions.Timeout)) ) def fetch_url_with_retry(session, url): print(f正在尝试请求: {url}) response session.get(url, timeout(5, 15)) response.raise_for_status() # 如果状态码不是200抛出HTTPError这不会被上面的retry捕获需要单独处理 return response # 使用 session requests.Session() try: resp fetch_url_with_retry(session, target_url) # 处理成功的响应 except requests.exceptions.HTTPError as e: print(fHTTP错误如404403: {e}) except Exception as e: print(f在多次重试后仍然失败: {e})实操心得区分错误类型像404、403这类HTTP状态码错误通常重试没用应该直接记录并跳过。而ConnectionError、Timeout则适合重试。指数退避wait_exponential策略是关键。它让重试间隔逐渐变长避免在服务器临时故障时加剧其负担。记录日志所有重试和最终失败都应该记录到日志文件便于后续分析哪些URL问题最多。3.4 进阶应对动态内容与复杂反爬当上述所有方法都失效或者目标网站内容完全由JavaScript动态加载时即用requests拿到的是空壳HTML我们就需要考虑更高级的工具。1. 使用Selenium或Playwright这些工具通过程序控制真实浏览器如Chrome, Firefox。它们能执行JS完美渲染页面并且产生的网络流量与真人浏览无异极难被区分。from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By import time chrome_options Options() # 无头模式不显示浏览器窗口 chrome_options.add_argument(--headless) # 禁用GPU某些环境下需要 chrome_options.add_argument(--disable-gpu) # 禁用沙箱在Docker或某些Linux系统上可能需要 chrome_options.add_argument(--no-sandbox) # 避免一些特性检测 chrome_options.add_experimental_option(excludeSwitches, [enable-automation]) chrome_options.add_experimental_option(useAutomationExtension, False) driver webdriver.Chrome(optionschrome_options) try: driver.get(https://target-site.com) # 等待页面加载完成可以配合WebDriverWait使用更精确 time.sleep(3) # 获取渲染后的页面源码 page_source driver.page_source # 此时 page_source 包含了JS执行后的完整HTML # ... 使用BeautifulSoup或lxml解析 page_source ... finally: driver.quit() # 务必退出释放资源2. 寻找隐藏的API接口推荐首选很多时候动态网站的数据是通过Ajax调用后端API获取的JSON格式。你可以通过浏览器的开发者工具Network - XHR/Fetch找到这些API请求直接模拟这些请求来获取结构化数据。这比渲染整个页面要高效得多。实操心得资源权衡Selenium非常消耗内存和CPU。一个爬虫实例可能占用几百MB内存。请根据目标规模和服务器资源谨慎使用。反检测即使使用Selenium高级网站也能通过检测WebDriver属性如navigator.webdriver来识别。你需要使用stealth.min.js等脚本或undetected-chromedriver这类库来进一步隐藏。API优先永远优先尝试寻找并模拟API接口这是最有效、最轻量的方法。4. 完整实战流程与代码示例让我们结合一个模拟场景将上述策略整合到一个完整的、健壮的爬虫函数中。假设我们要爬取一个对请求频率和Headers比较敏感的书籍列表网站。import requests import time import random from tenacity import retry, stop_after_attempt, wait_exponential, retry_if_exception_type import logging from bs4 import BeautifulSoup # 配置日志 logging.basicConfig(levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s) logger logging.getLogger(__name__) # 1. 准备伪装头 HEADERS_LIST [ { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36, Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,*/*;q0.8, Accept-Language: zh-CN,zh;q0.9,en;q0.8, }, { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15, Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8, Accept-Language: zh-cn, }, ] def get_random_headers(): 返回一个随机的请求头字典并补充固定字段 base_headers random.choice(HEADERS_LIST) base_headers.update({ Connection: keep-alive, Upgrade-Insecure-Requests: 1, Sec-Fetch-Dest: document, Sec-Fetch-Mode: navigate, Sec-Fetch-Site: none, }) return base_headers # 2. 定义带重试的请求函数 retry( stopstop_after_attempt(3), waitwait_exponential(multiplier1, min2, max10), retryretry_if_exception_type((requests.exceptions.ConnectionError, requests.exceptions.Timeout)), before_sleeplambda retry_state: logger.warning(f第{retry_state.attempt_number}次重试请求 {retry_state.args[1]} 失败原因: {retry_state.outcome.exception()}) ) def fetch_page(session, url, refererNone): 使用Session和重试机制获取页面 headers get_random_headers() if referer: headers[Referer] referer logger.info(f正在请求: {url}) response session.get(url, headersheaders, timeout(5, 15)) response.raise_for_status() # 检查HTTP状态码 # 请求成功后随机延迟模拟人类行为 time.sleep(random.uniform(1.5, 4)) return response def main(): base_url https://example-books.com/list?page{} books_data [] # 使用Session管理会话和Cookies with requests.Session() as session: # 可以在这里为session设置一些通用headers session.headers.update({Accept-Encoding: gzip, deflate}) for page in range(1, 6): # 假设爬取前5页 current_url base_url.format(page) referer_url base_url.format(page-1) if page 1 else None try: response fetch_page(session, current_url, refererreferer_url) soup BeautifulSoup(response.text, html.parser) # 假设每本书的信息在一个 classbook-item 的div里 for item in soup.select(div.book-item): title item.select_one(h2.title).text.strip() if item.select_one(h2.title) else N/A price item.select_one(span.price).text.strip() if item.select_one(span.price) else N/A books_data.append({title: title, price: price}) logger.debug(f提取到: {title} - {price}) logger.info(f第 {page} 页爬取完成共 {len(books_data)} 条记录。) except requests.exceptions.HTTPError as e: logger.error(f第 {page} 页HTTP错误: {e}状态码: {e.response.status_code}) # 如果是403/429可能触发了反爬应该考虑延长等待或停止 if e.response.status_code in [403, 429]: logger.warning(触发反爬机制程序将休眠30秒后继续下一页) time.sleep(30) continue # 跳过这一页继续下一页 except Exception as e: logger.error(f第 {page} 页发生未知错误: {e}) continue # 跳过这一页 # 所有页面处理完成后保存数据 logger.info(f爬虫结束总共获取 {len(books_data)} 本书籍信息。) # 这里可以添加保存到文件如JSON, CSV的代码 # import json # with open(books.json, w, encodingutf-8) as f: # json.dump(books_data, f, ensure_asciiFalse, indent2) if __name__ __main__: main()5. 常见问题排查与调试技巧即使按照最佳实践编写爬虫依然可能遇到各种古怪问题。下面是一个基于经验的排查清单。5.1 问题速查表现象可能原因排查步骤与解决方案首次请求成功后续请求频繁RemoteDisconnected1. 请求频率过高。2. 未使用SessionCookies丢失。3. 服务器要求携带特定Token如CSRF。1.大幅增加请求间隔使用随机延迟。2.启用requests.Session()。3. 从首次响应中解析并携带必要的Token。无论怎么加延迟和Headers都立刻被断开1. IP已被封禁。2. 请求头缺少关键字段如Host,Accept。3. 网站使用了高级反爬服务如Cloudflare 5秒盾。1.更换IP使用代理IP池。2. 用浏览器插件如ModHeader对比浏览器请求头查漏补缺。3. 考虑使用selenium/playwright或寻找隐藏API。使用Selenium正常但requests不行目标网站内容依赖JavaScript渲染或对请求头有复杂验证。坚持使用Selenium或尝试逆向其API调用。检查requests是否拿到了正确的初始Cookie可能需要先访问首页。间歇性出现错误时好时坏1. 网络不稳定。2. 目标服务器负载高不稳定。1.实现重试机制如使用tenacity。2.增加超时时间并做好异常捕获和日志记录。返回状态码是200但内容是反爬警告页请求已被识别为爬虫但服务器返回了“软拒绝”页面。检查返回的HTML内容。需要进一步完善请求头伪装特别是User-Agent,Accept-Language,Sec-*系列头。考虑模拟完整的行为链如先访问首页再点链接。5.2 高级调试技巧对比分析这是最有效的调试方法。使用浏览器无痕模式访问目标页面在开发者工具的Network面板中找到数据请求右键选择“Copy - Copy as cURL”。然后将这个cURL命令在终端运行或者使用curlconverter之类的工具将其转换为Pythonrequests代码。对比你的爬虫代码和这个“官方”代码的差异尤其是Headers、Cookies和请求参数。代理IP的使用当单一IP被限制时代理IP是必需品。可以使用付费代理服务或者在本地搭建IP池。在requests中使用代理非常简单proxies { http: http://your-proxy-ip:port, https: http://your-proxy-ip:port, # 注意很多http代理也支持https } response requests.get(url, headersheaders, proxiesproxies, timeout10)注意免费代理大多不稳定、速度慢且不安全。生产环境务必使用可靠的付费代理并做好代理失效的自动切换。处理动态签名如x-s, x-t遇到这种高级反爬说明目标网站如小红书、抖音投入了相当的成本。解决方案通常是逆向其JavaScript加密逻辑。你需要在浏览器中定位生成这些签名参数的JS代码。使用PyExecJS、js2py或直接通过selenium执行JS代码来获取签名。或者寻找是否有开源社区已经逆向好的算法但需注意法律和合规风险。 这个过程技术门槛较高属于爬虫领域的深水区。6. 法律与伦理边界提醒在施展你的爬虫技术之前请务必牢记以下几点这是比任何技术问题都重要的底线尊重robots.txt首先检查目标网站的robots.txt文件通常位于网站根目录如https://example.com/robots.txt。这个文件指明了网站允许和禁止爬虫访问的路径。尽管它不是法律文件但遵守它是行业的基本礼仪。查看服务条款许多网站的用户协议中明确禁止未经授权的大规模数据抓取。违反条款可能导致法律诉讼。不要造成破坏控制你的请求速率确保不会对目标网站的服务器造成显著负载影响其正常服务。这既是道德要求也能让你“活”得更久。数据用途抓取的数据应用于个人学习、研究或合法的公共数据聚合。切勿用于商业牟利、侵犯隐私或从事其他非法活动。版权与隐私尊重数据的版权和个人隐私。不要抓取和传播受版权保护的详细内容或用户的个人敏感信息。爬虫技术是一把双刃剑。RemoteDisconnected这样的错误从另一个角度看也是网站维护其安全和秩序的一种方式。我们的目标不应该是“击败”所有反爬而是通过技术手段在遵守规则的前提下高效、稳定、低调地获取我们所需的数据。理解错误背后的逻辑并采用合规、稳健的策略去应对这才是资深爬虫工程师的修养所在。在实际项目中我通常会从最简单的requests 基础伪装开始逐步增加策略复杂度同时准备好selenium作为兜底方案并始终将请求频率控制在对方服务器可接受的范围内。记住一个成功的爬虫项目往往是稳定性和效率的平衡而不是速度的竞赛。

相关新闻

Unity动态文字弧线动画:从贝塞尔曲线到TextMeshPro实战

Unity动态文字弧线动画:从贝塞尔曲线到TextMeshPro实战

1. 项目概述:为什么动态文字弧度动画值得投入在Unity里做UI,尤其是处理文字,很多开发者可能觉得把字摆上去、能变色、能跳动就差不多了。但如果你仔细观察过一些优秀的游戏或应用界面,会发现那些真正能抓住用户眼球、提升产品质感…

2026/8/1 7:15:56 阅读更多 →
众擎运动控制面试,在嵌入式平台上跑WBC有多极限

众擎运动控制面试,在嵌入式平台上跑WBC有多极限

逐际动力系列完结,这篇进入众擎机器人(Innfos/EngineAI)。众擎是国内人形机器人赛道里的一支新锐力量,他们的人形机器人在全身协调和运动控制方面走的是"高性价比+工程极致"的路线。跟大疆、宇树这些大公司比,众擎的硬件平台算力更有限(不用A100这种大算力芯片…

2026/8/1 7:15:56 阅读更多 →
嵌入式OLED动图显示:基于SSD1306的轻量级帧动画实现方案

嵌入式OLED动图显示:基于SSD1306的轻量级帧动画实现方案

1. 项目概述:为什么要在OLED上“笨拙”地播放动图?最近在折腾一个小项目,需要在一块0.96寸的OLED屏幕上显示一个简单的动画图标,比如一个旋转的小风扇或者跳动的心。手头这块屏幕是经典的SSD1306驱动,通过I2C接口与主控…

2026/8/1 7:15:56 阅读更多 →

最新新闻

金融数仓标准化:信贷业务 ODS/DWD/DWS/ADS/DIM 全层级建模指南

金融数仓标准化:信贷业务 ODS/DWD/DWS/ADS/DIM 全层级建模指南

基于阿里 OneData 架构|信贷业务数仓分层完整落地实践(移除 DWM,博客定稿版)前言本文依托《大数据之路》OneData 核心理念,结合信贷全业务链路(授信 → 放款 → 还款 → 逾期 → 催收 → 不良处置&#xff…

2026/8/1 7:57:06 阅读更多 →
HART协议详解:06 设备层,智能仪表内部数据流(核心特色)

HART协议详解:06 设备层,智能仪表内部数据流(核心特色)

第六季 设备层:智能仪表内部数据流(核心特色) ——打开HART智能设备黑盒:从传感器信号到4–20mA与数字诊断的双通道生命系统 各位工业现场的工程师朋友们,大家好! 在前五季中,我们已经从宏观到微观、从通信到应用,系统构建了HART协议的完整知识体系。 但是,真正要…

2026/8/1 7:57:06 阅读更多 →
几十块学亚马逊,到底能学到什么?完整课程内容拆解

几十块学亚马逊,到底能学到什么?完整课程内容拆解

很多人看到"几十块学亚马逊",第一反应是:这么便宜,能学到什么?不会只是几个入门视频吧?这篇文章用一个真实的线上学习平台——星火跨境XINGHUOS学习中心——来拆解:几十块一个月,到底…

2026/8/1 7:57:06 阅读更多 →
如何快速配置视觉语音识别系统:Chaplin唇语识别完整实战指南

如何快速配置视觉语音识别系统:Chaplin唇语识别完整实战指南

如何快速配置视觉语音识别系统:Chaplin唇语识别完整实战指南 【免费下载链接】chaplin A real-time silent speech recognition tool. 项目地址: https://gitcode.com/gh_mirrors/chapl/chaplin Chaplin是一个革命性的开源唇语识别工具,它通过先进…

2026/8/1 7:57:06 阅读更多 →
高效邮件沟通指南:从基础格式到场景化模板

高效邮件沟通指南:从基础格式到场景化模板

1. 邮件沟通的核心价值与常见误区 给老师发邮件,看起来是件小事,但背后折射出的沟通素养和专业态度,往往比你想象中更重要。一封得体的邮件,不仅是传递信息的工具,更是建立良好师生关系、展现个人严谨性和尊重感的桥梁…

2026/8/1 7:57:06 阅读更多 →
后端开发者转型AI Agent工程师的核心技能与路径

后端开发者转型AI Agent工程师的核心技能与路径

1. 为什么后端开发者适合转型AI Agent工程师我见过太多优秀的后端工程师在技术转型期陷入迷茫。实际上,你们已经手握转型AI Agent领域的最佳入场券——分布式系统经验、高并发处理能力和扎实的工程化思维,这些都是构建可靠AI Agent的底层基础。当你们用G…

2026/8/1 7:56:06 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →