小红书数据采集终极指南:基于Python的高效反爬虫技术实现与实战应用
小红书数据采集终极指南基于Python的高效反爬虫技术实现与实战应用【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs在小红书这个拥有数亿用户的生活方式分享平台上海量的公开数据蕴含着巨大的商业价值和研究意义。然而平台日益严格的反爬虫机制让传统的数据采集方法举步维艰。xhs项目正是为了解决这一技术难题而生的Python工具库通过深度逆向工程和智能签名算法为开发者和数据分析师提供了稳定、高效的小红书数据采集解决方案。为什么需要专业的小红书数据采集工具小红书作为中国领先的社交媒体平台其数据采集面临着多重挑战复杂的签名机制小红书采用JavaScript混淆的动态签名算法每次请求都需要生成特定的x-s和x-t签名严格的反爬虫检测包括IP限制、频率控制、浏览器指纹检测等多重防护动态加载技术大量内容通过AJAX动态加载传统爬虫难以获取完整数据数据格式复杂笔记、用户信息、评论等数据结构嵌套复杂xhs项目通过技术手段巧妙解决了这些问题让数据采集变得简单可靠。 快速开始三步搭建数据采集环境第一步安装xhs库# 通过pip安装xhs库 pip install xhs # 安装Playwright浏览器自动化工具 pip install playwright playwright install chromium # 下载反检测脚本 curl -O https://cdn.jsdelivr.net/gh/requireCool/stealth.min.js/stealth.min.js第二步获取小红书Cookie要使用xhs库你需要获取小红书的登录Cookie。打开浏览器登录小红书后按F12打开开发者工具在Application或Storage标签页中找到Cookie复制a1、web_session和webId三个关键字段。第三步编写第一个采集脚本import json from xhs import XhsClient # 初始化客户端 cookie your_cookie_here xhs_client XhsClient(cookie) # 获取用户信息 user_info xhs_client.get_user_info(用户ID) print(f用户昵称: {user_info.get(nickname)}) print(f粉丝数量: {user_info.get(fans_count)}) # 搜索热门内容 search_results xhs_client.get_note_by_keyword(Python编程, page1) print(f搜索到 {len(search_results)} 条笔记) # 获取笔记详情 note_detail xhs_client.get_note_by_id(笔记ID) print(f笔记标题: {note_detail.get(title)})⚙️ 核心架构如何绕过小红书的反爬虫机制签名算法逆向工程xhs项目的核心技术在于模拟小红书Web端的JavaScript签名算法。通过Playwright浏览器自动化项目能够执行页面中的签名函数生成正确的请求签名。def sign(uri, dataNone, a1, web_session): 小红书签名函数实现 for _ in range(10): try: with sync_playwright() as playwright: chromium playwright.chromium browser chromium.launch(headlessTrue) browser_context browser.new_context() # 加载反检测脚本 browser_context.add_init_script(pathstealth.min.js) context_page browser_context.new_page() context_page.goto(https://www.xiaohongshu.com) # 设置cookie browser_context.add_cookies([ {name: a1, value: a1, domain: .xiaohongshu.com, path: /} ]) context_page.reload() sleep(1) # 执行签名函数 encrypt_params context_page.evaluate( ([url, data]) window._webmsxyw(url, data), [uri, data] ) return { x-s: encrypt_params[X-s], x-t: str(encrypt_params[X-t]) } except Exception: continue raise Exception(签名重试多次失败)服务端签名方案对于生产环境xhs项目提供了服务端签名方案将签名计算独立为服务客户端只需调用API即可# 启动签名服务 docker run -it -d -p 5005:5005 reajason/xhs-api:latest # 客户端使用签名服务 from xhs import XhsClient def sign_from_server(uri, dataNone): 从签名服务获取签名 import requests response requests.post( http://localhost:5005/sign, json{uri: uri, data: data} ) return response.json() xhs_client XhsClient(cookie, signsign_from_server) 数据采集功能全解析用户数据采集# 获取用户基本信息 user_info xhs_client.get_user_info(用户ID) # 获取用户发布的笔记 user_notes xhs_client.get_user_notes(用户ID, page1, limit20) # 获取用户收藏的笔记 user_collects xhs_client.get_user_collect_notes(用户ID) # 获取用户点赞的笔记 user_likes xhs_client.get_user_like_notes(用户ID) # 获取用户关注列表 following_list xhs_client.get_following(用户ID) # 获取用户粉丝列表 fans_list xhs_client.get_followers(用户ID)内容搜索与过滤xhs库支持多种搜索方式和过滤条件from xhs import SearchSortType, SearchNoteType # 按关键词搜索 results xhs_client.get_note_by_keyword( keyword美食探店, sort_typeSearchSortType.MOST_POPULAR, # 按热度排序 note_typeSearchNoteType.ALL, # 所有类型 page1 ) # 获取首页推荐内容 home_feed xhs_client.get_home_feed(feed_typehomefeed_recommend)笔记详情与互动数据# 获取笔记完整信息 note_detail xhs_client.get_note_by_id(笔记ID) # 获取笔记评论 comments xhs_client.get_note_comments(笔记ID, cursor) # 获取笔记子评论 sub_comments xhs_client.get_note_sub_comments(笔记ID, 父评论ID) # 点赞笔记 xhs_client.like_note(笔记ID) # 收藏笔记 xhs_client.collect_note(笔记ID) # 发表评论 xhs_client.comment_note(笔记ID, 评论内容) 高级功能与性能优化批量数据处理from concurrent.futures import ThreadPoolExecutor, as_completed import time def batch_collect_user_notes(user_ids, max_workers3): 批量采集多个用户的笔记 results {} with ThreadPoolExecutor(max_workersmax_workers) as executor: future_to_user { executor.submit(xhs_client.get_user_notes, user_id): user_id for user_id in user_ids } for future in as_completed(future_to_user): user_id future_to_user[future] try: notes future.result() results[user_id] notes print(f用户 {user_id} 的笔记采集完成共 {len(notes)} 条) except Exception as e: print(f用户 {user_id} 采集失败: {e}) # 控制请求频率 time.sleep(1) return results智能频率控制import time from collections import deque from threading import Lock class RateLimiter: 智能请求频率控制器 def __init__(self, max_requests20, period60): self.max_requests max_requests self.period period self.request_times deque() self.lock Lock() def wait_if_needed(self): 根据请求频率决定是否等待 with self.lock: now time.time() # 清理过期请求记录 while self.request_times and now - self.request_times[0] self.period: self.request_times.popleft() # 检查是否超过频率限制 if len(self.request_times) self.max_requests: oldest_time self.request_times[0] wait_time self.period - (now - oldest_time) if wait_time 0: time.sleep(wait_time) now time.time() # 记录当前请求时间 self.request_times.append(now) 实战案例构建竞品监测系统系统架构设计import pandas as pd from datetime import datetime, timedelta import json class CompetitorMonitor: 竞品监测系统 def __init__(self, competitors, xhs_client): self.competitors competitors self.xhs_client xhs_client self.data {} def monitor_daily(self): 每日监测任务 results {} for competitor in self.competitors: try: # 获取竞品最新数据 user_info self.xhs_client.get_user_info(competitor[user_id]) recent_notes self.xhs_client.get_user_notes( competitor[user_id], page1, limit20 ) # 计算关键指标 metrics self.calculate_metrics(recent_notes) # 存储结果 results[competitor[name]] { user_info: user_info, recent_notes: recent_notes[:10], # 只保留最近10条 metrics: metrics, timestamp: datetime.now().isoformat() } print(f竞品 {competitor[name]} 监测完成) except Exception as e: print(f竞品 {competitor[name]} 监测失败: {e}) continue # 请求间隔 time.sleep(2) return results def calculate_metrics(self, notes): 计算内容指标 if not notes: return {} total_likes sum(note.get(liked_count, 0) for note in notes) total_comments sum(note.get(comment_count, 0) for note in notes) total_collects sum(note.get(collected_count, 0) for note in notes) return { total_notes: len(notes), avg_likes: total_likes / len(notes) if notes else 0, avg_comments: total_comments / len(notes) if notes else 0, avg_collects: total_collects / len(notes) if notes else 0, engagement_rate: (total_likes total_comments) / len(notes) if notes else 0 }数据可视化分析import matplotlib.pyplot as plt import seaborn as sns def visualize_competitor_data(data): 可视化竞品数据 # 准备数据 competitors list(data.keys()) avg_likes [data[c][metrics][avg_likes] for c in competitors] avg_comments [data[c][metrics][avg_comments] for c in competitors] engagement_rates [data[c][metrics][engagement_rate] for c in competitors] # 创建图表 fig, axes plt.subplots(1, 3, figsize(15, 5)) # 平均点赞数 axes[0].bar(competitors, avg_likes, colorskyblue) axes[0].set_title(平均点赞数) axes[0].set_ylabel(点赞数) axes[0].tick_params(axisx, rotation45) # 平均评论数 axes[1].bar(competitors, avg_comments, colorlightgreen) axes[1].set_title(平均评论数) axes[1].set_ylabel(评论数) axes[1].tick_params(axisx, rotation45) # 互动率 axes[2].bar(competitors, engagement_rates, colorsalmon) axes[2].set_title(互动率) axes[2].set_ylabel(互动率) axes[2].tick_params(axisx, rotation45) plt.tight_layout() plt.savefig(competitor_analysis.png, dpi300, bbox_inchestight) plt.show()️ 异常处理与稳定性保障完善的异常处理机制from xhs.exception import DataFetchError, IPBlockError, SignError, NeedVerifyError def safe_xhs_request(func, *args, **kwargs): 安全的xhs请求包装器 max_retries 3 retry_delay 2 for attempt in range(max_retries): try: return func(*args, **kwargs) except IPBlockError as e: print(fIP被封禁: {e}) # 切换到备用IP或等待 time.sleep(60 * (attempt 1)) # 指数退避 continue except SignError as e: print(f签名错误: {e}) # 重新获取签名或刷新cookie refresh_cookie() continue except NeedVerifyError as e: print(f需要验证: {e}) # 触发人工验证流程 trigger_human_verification() break except DataFetchError as e: print(f数据获取失败: {e}) time.sleep(retry_delay * (attempt 1)) continue except Exception as e: print(f未知错误: {e}) time.sleep(retry_delay * (attempt 1)) continue raise Exception(f请求失败重试 {max_retries} 次后仍然失败)代理IP池管理import random class ProxyManager: 代理IP池管理器 def __init__(self, proxy_list): self.proxy_list proxy_list self.current_index 0 self.failed_proxies set() def get_proxy(self): 获取可用的代理 if not self.proxy_list: return None # 尝试获取下一个代理 for _ in range(len(self.proxy_list)): proxy self.proxy_list[self.current_index] self.current_index (self.current_index 1) % len(self.proxy_list) if proxy not in self.failed_proxies: return proxy # 所有代理都失败了清空失败记录重新开始 self.failed_proxies.clear() return self.proxy_list[0] def mark_failed(self, proxy): 标记代理失败 self.failed_proxies.add(proxy) print(f代理 {proxy} 标记为失败) def mark_success(self, proxy): 标记代理成功 if proxy in self.failed_proxies: self.failed_proxies.remove(proxy) 性能优化策略连接池与缓存优化import requests from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry class OptimizedXhsClient: 优化版的Xhs客户端 def __init__(self, cookie, sign_funcNone): self.cookie cookie self.sign_func sign_func # 创建优化的session self.session requests.Session() # 配置连接池 adapter HTTPAdapter( pool_connections10, pool_maxsize100, max_retriesRetry( total3, backoff_factor0.5, status_forcelist[500, 502, 503, 504] ) ) self.session.mount(https://, adapter) self.session.mount(http://, adapter) # 设置请求头 self.session.headers.update({ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Accept: application/json, text/plain, */*, Accept-Language: zh-CN,zh;q0.9,en;q0.8, Accept-Encoding: gzip, deflate, br, Connection: keep-alive, }) # 初始化缓存 self.cache {} self.cache_ttl 300 # 5分钟缓存 def get_with_cache(self, key, func, *args, **kwargs): 带缓存的请求 current_time time.time() if key in self.cache: cached_data, timestamp self.cache[key] if current_time - timestamp self.cache_ttl: return cached_data # 缓存未命中或过期 result func(*args, **kwargs) self.cache[key] (result, current_time) return result 常见问题与解决方案问题1签名失败怎么办解决方案检查cookie是否过期重新获取有效的cookie确保a1、web_session、webId三个字段都存在尝试增加签名函数中的sleep时间使用服务端签名方案# 重新获取cookie def refresh_cookie(): # 实现cookie刷新逻辑 pass # 增加签名等待时间 def sign_with_longer_wait(uri, dataNone, a1, web_session): # 在context_page.reload()后增加等待时间 sleep(3) # 增加到3秒问题2IP被封禁如何处理解决方案使用代理IP轮换降低请求频率实现指数退避重试机制class SmartRetry: 智能重试机制 def __init__(self, max_retries5, base_delay1): self.max_retries max_retries self.base_delay base_delay def execute_with_retry(self, func, *args, **kwargs): for attempt in range(self.max_retries): try: return func(*args, **kwargs) except IPBlockError: if attempt self.max_retries - 1: raise wait_time self.base_delay * (2 ** attempt) # 指数退避 print(fIP被封禁等待 {wait_time} 秒后重试) time.sleep(wait_time)问题3数据获取不完整解决方案检查网络连接和代理设置验证请求参数是否正确使用分页获取完整数据def get_all_user_notes(user_id, max_pages10): 获取用户所有笔记分页 all_notes [] for page in range(1, max_pages 1): try: notes xhs_client.get_user_notes(user_id, pagepage) if not notes: break all_notes.extend(notes) print(f已获取第 {page} 页共 {len(notes)} 条笔记) time.sleep(1) # 控制请求频率 except Exception as e: print(f第 {page} 页获取失败: {e}) break return all_notes 未来发展与扩展建议技术演进方向签名算法自适应实现签名算法的自动检测和更新AI辅助反爬使用机器学习识别新的反爬机制分布式架构支持水平扩展的大规模数据采集实时数据处理集成流处理框架实现实时数据分析生态扩展计划数据导出插件支持导出到MySQL、PostgreSQL、MongoDB等数据库可视化分析工具集成数据可视化和报表生成API网关服务提供统一的RESTful API接口云服务平台部署为SaaS服务降低使用门槛 最佳实践总结开发环境配置# 创建虚拟环境 python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows # 安装依赖 pip install xhs playwright playwright install chromium # 配置环境变量 export XHS_COOKIEyour_cookie_here export XHS_PROXYhttp://proxy.example.com:8080生产环境部署# Dockerfile FROM python:3.9-slim WORKDIR /app # 安装系统依赖 RUN apt-get update apt-get install -y \ wget \ gnupg \ rm -rf /var/lib/apt/lists/* # 安装Chrome RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ echo deb [archamd64] http://dl.google.com/linux/chrome/deb/ stable main /etc/apt/sources.list.d/google.list \ apt-get update apt-get install -y google-chrome-stable # 复制项目文件 COPY requirements.txt . COPY . . # 安装Python依赖 RUN pip install --no-cache-dir -r requirements.txt # 安装Playwright浏览器 RUN playwright install chromium # 启动服务 CMD [python, your_main_script.py]监控与日志import logging from datetime import datetime # 配置日志 logging.basicConfig( levellogging.INFO, format%(asctime)s - %(name)s - %(levelname)s - %(message)s, handlers[ logging.FileHandler(fxhs_crawler_{datetime.now().strftime(%Y%m%d)}.log), logging.StreamHandler() ] ) logger logging.getLogger(__name__) class MonitoredXhsClient: 带监控的Xhs客户端 def __init__(self, cookie, sign_funcNone): self.client XhsClient(cookie, signsign_func) self.logger logger self.request_count 0 self.error_count 0 def get_note_by_id(self, note_id, *args, **kwargs): 带监控的获取笔记方法 self.request_count 1 start_time time.time() try: result self.client.get_note_by_id(note_id, *args, **kwargs) elapsed time.time() - start_time self.logger.info(f获取笔记 {note_id} 成功耗时 {elapsed:.2f}秒) return result except Exception as e: self.error_count 1 self.logger.error(f获取笔记 {note_id} 失败: {str(e)}) raise结语xhs项目为小红书数据采集提供了一个完整、稳定、高效的解决方案。通过深度逆向工程和技术创新它成功绕过了平台的反爬虫机制为开发者和数据分析师打开了小红书数据宝库的大门。无论你是进行市场研究、竞品分析、用户洞察还是构建基于小红书数据的应用系统xhs都能为你提供强大的技术支持。项目采用模块化设计易于扩展和维护同时提供了完善的异常处理和性能优化机制。记住技术只是工具合理、合法、合规地使用数据才是最重要的。xhs项目鼓励开发者在遵守平台规则和相关法律法规的前提下创造有价值的数据应用。开始你的小红书数据采集之旅吧【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

3种实用技术方案:高效突破城通网盘下载限制的完整指南

3种实用技术方案:高效突破城通网盘下载限制的完整指南

3种实用技术方案:高效突破城通网盘下载限制的完整指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在当今数字资源共享的时代,城通网盘作为国内广泛使用的文件存储平台&#…

2026/8/5 9:30:03 阅读更多 →
深度图转点云:从相机模型到工程实践的全流程解析

深度图转点云:从相机模型到工程实践的全流程解析

1. 从深度图到点云:不只是三维坐标的简单映射在三维视觉、机器人、自动驾驶乃至AR/VR领域,我们经常听到“点云”这个词。它像是一团由无数个微小光点构成的、能够精确描述物体表面形状的“数字沙尘暴”。而生成这些点云数据,一个最基础、最核…

2026/8/5 9:29:03 阅读更多 →
【Linux网络编程】--UDP__SCOKE

【Linux网络编程】--UDP__SCOKE

下面我们先对服务器端进行封装。一、简单回显服务器我们要实现一个简单回显服务器和客服端的数据回显,客户端进行发送消息,服务器收到消息后,再将这个消息回显给我们的用户端。就类似我们在Linux上使用的echo指令。整个程序的核心就是套接字的…

2026/8/5 9:29:03 阅读更多 →

最新新闻

【扣子消息触发器高阶实战指南】:20年架构师亲授5大避坑法则与3种生产级配置模板

【扣子消息触发器高阶实战指南】:20年架构师亲授5大避坑法则与3种生产级配置模板

更多请点击: https://codechina.net 第一章:扣子消息触发器的核心原理与架构定位 扣子(Coze)平台中的消息触发器是连接 Bot 行为与外部事件的关键枢纽,其本质是一个轻量级、高内聚的事件监听与分发组件。它不直接处理…

2026/8/5 13:44:07 阅读更多 →
3个Windows系统维护难题,Dism++都能轻松解决

3个Windows系统维护难题,Dism++都能轻松解决

3个Windows系统维护难题,Dism都能轻松解决 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是不是经常遇到C盘空间不足的烦恼?Windows更…

2026/8/5 13:44:07 阅读更多 →
C/C++实现贪吃蛇游戏的核心技术与优化策略

C/C++实现贪吃蛇游戏的核心技术与优化策略

1. 为什么选择C/C实现贪吃蛇?贪吃蛇作为经典游戏,用C/C实现具有特殊意义。这两种语言在游戏开发领域有着不可替代的优势:直接内存操作带来的性能优势、对硬件资源的精细控制能力,以及跨平台的编译特性。我在大学时期完成的第一个完…

2026/8/5 13:44:07 阅读更多 →
终极指南:2条命令在Linux上快速安装QQ微信的深度兼容方案

终极指南:2条命令在Linux上快速安装QQ微信的深度兼容方案

终极指南:2条命令在Linux上快速安装QQ微信的深度兼容方案 【免费下载链接】deepin-wine 【deepin源移植】Debian/Ubuntu上的QQ/微信快速安装方式 项目地址: https://gitcode.com/gh_mirrors/de/deepin-wine 想在Linux系统上使用QQ、微信等常用国产软件&#…

2026/8/5 13:44:07 阅读更多 →
C++系统编程实践:从进程管理到网络通信的技术原理与安全防御

C++系统编程实践:从进程管理到网络通信的技术原理与安全防御

1. 项目概述:从“玩具”到“武器”的认知跨越 “手动编写木马”——这个标题听起来像是一个技术爱好者的挑战,或者一个安全初学者的危险尝试。但今天,我想从一个完全不同的角度来聊聊这件事:把它当作一次对计算机系统底层交互、网…

2026/8/5 13:44:06 阅读更多 →
AI驱动社群增长的底层逻辑(2024最新算法框架+真实ROI数据验证)

AI驱动社群增长的底层逻辑(2024最新算法框架+真实ROI数据验证)

更多请点击: https://intelliparadigm.com 第一章:AI驱动社群增长的底层逻辑(2024最新算法框架真实ROI数据验证) AI驱动社群增长的本质,是将用户行为信号、内容语义与社交图谱进行多模态联合建模,并通过实…

2026/8/5 13:43:06 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/4 11:09:16 阅读更多 →
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/4 13:38:40 阅读更多 →