当前位置: 首页 > article >正文

高效小红书数据采集完全指南:从入门到实战的完整解决方案

高效小红书数据采集完全指南从入门到实战的完整解决方案【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs小红书数据采集已成为市场分析、品牌运营和内容创作的关键技术需求。xhs项目作为一个基于小红书Web端API封装的Python工具库为开发者提供了一种高效、稳定的数据采集解决方案。本文将深入解析xhs项目的核心功能、技术实现和实战应用帮助您快速掌握小红书数据采集的专业技能。 为什么选择xhs进行小红书数据采集在数据驱动的商业环境中小红书作为中国领先的社交电商平台积累了海量的用户生成内容和消费决策数据。传统的数据采集方法面临着诸多挑战传统方法的局限性手动采集效率低下难以规模化处理简单爬虫容易被平台反爬机制拦截直接API调用需要复杂的签名算法和身份验证xhs项目的核心优势自动签名验证内置智能签名机制绕过技术壁垒模拟真实行为使用Playwright模拟浏览器操作降低封禁风险完整API覆盖支持用户信息、笔记内容、搜索等多种数据接口️错误处理机制完善的异常处理和重试策略 核心架构设计解析xhs项目的架构设计体现了现代Python库的优雅和实用性。让我们深入了解其技术实现核心模块结构xhs/ ├── __init__.py # 模块入口和API导出 ├── __version__.py # 版本信息 ├── core.py # 核心客户端和API实现 ├── exception.py # 异常处理机制 └── help.py # 辅助工具函数关键技术实现签名机制是xhs项目的核心技术通过模拟浏览器环境生成有效的请求签名# 核心签名函数示例 def sign(uri, dataNone, a1, web_session): 生成小红书API请求签名 with sync_playwright() as playwright: # 初始化浏览器环境 browser playwright.chromium.launch(headlessTrue) browser_context browser.new_context() # 加载反检测脚本 browser_context.add_init_script(pathstealth_js_path) # 设置cookie并重新加载 browser_context.add_cookies([ {name: a1, value: a1, domain: .xiaohongshu.com, path: /} ]) # 执行签名算法 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]) }客户端设计采用了面向对象的设计模式提供了清晰的API接口# 客户端初始化示例 from xhs import XhsClient # 初始化客户端 cookie a1your_a1_value; web_sessionyour_session; webIdyour_webid xhs_client XhsClient(cookie, signsign) # 使用示例 user_info xhs_client.get_user_info(用户ID) note_detail xhs_client.get_note_by_id(笔记ID) search_results xhs_client.search(关键词, limit20) 快速入门5分钟搭建采集环境环境准备与安装# 1. 安装xhs库 pip install xhs # 2. 安装浏览器自动化依赖 pip install playwright playwright install chromium # 3. 克隆项目源码可选用于深入了解 git clone https://gitcode.com/gh_mirrors/xh/xhs cd xhs获取必要凭证小红书数据采集需要有效的Cookie信息主要包括三个关键字段a1- 用户身份标识web_session- 会话标识webId- 设备标识获取Cookie的两种方法方法一手动获取使用Chrome浏览器访问小红书网站登录账号后按F12打开开发者工具进入Application → Cookies → https://www.xiaohongshu.com复制a1、web_session、webId的值方法二使用项目提供的登录脚本# 运行登录示例脚本 python example/login_qrcode.py第一个采集脚本创建一个简单的数据采集脚本# first_collect.py import json from xhs import XhsClient def simple_sign(uri, dataNone, a1, web_session): 简化的签名函数 # 实际项目中应使用完整的签名实现 return {x-s: dummy_sign, x-t: 1234567890} def main(): # 初始化客户端 cookie 你的Cookie字符串 client XhsClient(cookie, signsimple_sign) try: # 搜索热门内容 results client.search(Python教程, limit5) print(f搜索到 {len(results)} 条结果) # 获取第一条笔记的详细信息 if results: note_id results[0].get(id) note_detail client.get_note_by_id(note_id) # 保存结果到文件 with open(search_results.json, w, encodingutf-8) as f: json.dump({ search_results: results, note_detail: note_detail }, f, ensure_asciiFalse, indent2) print(数据采集完成已保存到 search_results.json) except Exception as e: print(f采集过程中出现错误: {e}) if __name__ __main__: main() 核心功能深度解析1. 用户数据采集xhs提供了完整的用户数据采集接口支持获取用户基本信息、笔记列表等class UserDataCollector: 用户数据采集器 def __init__(self, client): self.client client def get_complete_user_profile(self, user_id): 获取完整的用户档案 profile { basic_info: self.client.get_user_info(user_id), notes: [], stats: {} } # 分页获取用户笔记 for page in range(1, 6): # 获取前5页 try: notes self.client.get_user_notes(user_id, pagepage) if not notes: break profile[notes].extend(notes) except Exception as e: print(f第{page}页获取失败: {e}) break # 计算统计信息 if profile[notes]: total_likes sum(note.get(likes, 0) for note in profile[notes]) profile[stats] { total_notes: len(profile[notes]), total_likes: total_likes, avg_likes_per_note: total_likes / len(profile[notes]) } return profile2. 内容搜索功能支持多种搜索排序方式和内容过滤from xhs import SearchSortType, SearchNoteType class ContentSearcher: 内容搜索管理器 def __init__(self, client): self.client client def advanced_search(self, keyword, sort_typeSearchSortType.GENERAL, note_typeSearchNoteType.ALL, limit50): 高级搜索功能 results self.client.search( keywordkeyword, sort_typesort_type, note_typenote_type, limitlimit ) # 数据增强处理 enhanced_results [] for item in results: enhanced_item { **item, engagement_rate: self.calculate_engagement_rate(item), content_quality: self.assess_content_quality(item), publish_time_parsed: self.parse_time(item.get(time, )) } enhanced_results.append(enhanced_item) return enhanced_results def calculate_engagement_rate(self, note): 计算互动率 likes note.get(likes, 0) collects note.get(collects, 0) comments note.get(comments, 0) return (likes collects comments) / max(likes, 1)3. 笔记详情获取获取笔记的完整信息包括图片、视频、评论等def get_note_with_media(note_id, xsec_tokenNone): 获取笔记及其媒体资源 note_detail client.get_note_by_id(note_id, xsec_token) if note_detail: # 提取图片URL image_urls help.get_imgs_url_from_note(note_detail) # 提取视频URL如果存在 video_url help.get_video_url_from_note(note_detail) return { note_info: note_detail, media: { images: image_urls, video: video_url, total_media: len(image_urls) (1 if video_url else 0) }, metadata: { word_count: len(note_detail.get(desc, )), hashtags: re.findall(r#(\w), note_detail.get(desc, )), mentioned_users: re.findall(r(\w), note_detail.get(desc, )) } } return None 实战应用场景场景一竞品品牌监测系统class BrandMonitor: 品牌监测系统 def __init__(self, client, brand_keywords): self.client client self.brand_keywords brand_keywords def monitor_daily_performance(self): 每日品牌表现监测 daily_report { date: datetime.now().strftime(%Y-%m-%d), brands: {}, summary: {} } for brand in self.brand_keywords: # 搜索品牌相关内容 results self.client.search(brand, limit100) # 计算关键指标 metrics self.calculate_brand_metrics(results) # 识别热门内容 top_content sorted( results, keylambda x: x.get(likes, 0), reverseTrue )[:10] daily_report[brands][brand] { total_mentions: len(results), metrics: metrics, top_content: top_content } # 生成总结报告 daily_report[summary] self.generate_summary(daily_report[brands]) return daily_report def calculate_brand_metrics(self, notes): 计算品牌相关指标 if not notes: return {} total_likes sum(n.get(likes, 0) for n in notes) total_comments sum(n.get(comments, 0) for n in notes) total_collects sum(n.get(collects, 0) for n in notes) return { avg_likes: total_likes / len(notes), avg_comments: total_comments / len(notes), avg_collects: total_collects / len(notes), engagement_rate: (total_likes total_comments total_collects) / len(notes) }场景二内容趋势分析工具class ContentTrendAnalyzer: 内容趋势分析工具 def __init__(self, client): self.client client self.trend_data [] def track_topic_trend(self, topic, days7): 跟踪话题趋势 trend_analysis [] for day in range(days): # 模拟时间筛选实际可能需要调整搜索参数 results self.client.search(topic, limit50) day_analysis { date: (datetime.now() - timedelta(daysday)).strftime(%Y-%m-%d), topic: topic, total_content: len(results), avg_engagement: self.calculate_avg_engagement(results), top_creators: self.extract_top_creators(results, top_n5), popular_hashtags: self.extract_popular_hashtags(results) } trend_analysis.append(day_analysis) return trend_analysis def identify_emerging_trends(self, topics, threshold0.3): 识别新兴趋势 trends_report [] for topic in topics: # 获取近期数据 recent_data self.track_topic_trend(topic, days3) # 计算增长趋势 if len(recent_data) 2: growth_rate ( recent_data[0][total_content] - recent_data[-1][total_content] ) / max(recent_data[-1][total_content], 1) if growth_rate threshold: trends_report.append({ topic: topic, growth_rate: growth_rate, current_volume: recent_data[0][total_content], trend_level: self.classify_trend_level(growth_rate) }) return sorted(trends_report, keylambda x: x[growth_rate], reverseTrue)⚡ 性能优化与最佳实践1. 并发处理策略对于大规模数据采集任务合理的并发处理可以显著提升效率import asyncio import aiohttp from concurrent.futures import ThreadPoolExecutor class ConcurrentCollector: 并发数据采集器 def __init__(self, client, max_concurrent5): self.client client self.max_concurrent max_concurrent self.semaphore asyncio.Semaphore(max_concurrent) async def batch_collect_notes(self, note_ids): 批量采集笔记数据 tasks [] for note_id in note_ids: task self.collect_note_safely(note_id) tasks.append(task) results await asyncio.gather(*tasks, return_exceptionsTrue) # 过滤异常结果 successful_results [] for result in results: if not isinstance(result, Exception): successful_results.append(result) else: print(f采集失败: {result}) return successful_results async def collect_note_safely(self, note_id): 安全采集单条笔记 async with self.semaphore: try: # 添加延迟避免请求过快 await asyncio.sleep(1) return await self.fetch_note_async(note_id) except Exception as e: # 实现指数退避重试 return await self.retry_with_backoff(note_id, e)2. 智能错误处理机制from xhs.exception import DataFetchError, IPBlockError, NeedVerifyError class SmartErrorHandler: 智能错误处理器 def __init__(self, max_retries3): self.max_retries max_retries self.retry_delay [1, 3, 5] # 重试延迟时间 def handle_api_call(self, api_func, *args, **kwargs): 处理API调用包含智能重试 for attempt in range(self.max_retries): try: return api_func(*args, **kwargs) except IPBlockError as e: print(f⚠️ IP被限制 (尝试 {attempt 1}/{self.max_retries})) if attempt self.max_retries - 1: wait_time self.retry_delay[attempt] print(f等待 {wait_time} 秒后重试...) time.sleep(wait_time) else: raise Exception(IP被限制请更换IP或稍后重试) except NeedVerifyError: print(需要验证请更新Cookie信息) raise except DataFetchError as e: print(f数据获取失败: {e}) if 签名失败 in str(e): print(签名失败请检查签名函数) raise except Exception as e: print(f未知错误: {e}) if attempt self.max_retries - 1: raise return None3. 数据持久化方案import json import csv import os from datetime import datetime class DataStorageManager: 数据存储管理器 def __init__(self, base_path./data): self.base_path base_path self.setup_storage_structure() def setup_storage_structure(self): 建立分层存储结构 directories [ raw/notes, raw/users, raw/search, processed/analysis, processed/reports, logs ] for dir_path in directories: full_path os.path.join(self.base_path, dir_path) os.makedirs(full_path, exist_okTrue) def save_note_data(self, note_data, note_idNone): 保存笔记数据 timestamp datetime.now().strftime(%Y%m%d_%H%M%S) note_id note_id or note_data.get(id, unknown) filename fnote_{note_id}_{timestamp}.json filepath os.path.join(self.base_path, raw/notes, filename) with open(filepath, w, encodingutf-8) as f: json.dump(note_data, f, ensure_asciiFalse, indent2) return filepath def save_search_results(self, keyword, results): 保存搜索结果 timestamp datetime.now().strftime(%Y%m%d) safe_keyword .join(c for c in keyword if c.isalnum() or c in ( , _)).rstrip() filename fsearch_{safe_keyword}_{timestamp}.json filepath os.path.join(self.base_path, raw/search, filename) with open(filepath, w, encodingutf-8) as f: json.dump({ keyword: keyword, timestamp: timestamp, total_results: len(results), results: results }, f, ensure_asciiFalse, indent2) return filepath️ 合规使用与风险管理合规使用原则⚠️重要声明xhs项目的主要目的是练习Python技能。需要注意的是网络爬虫可能被认为是非法的因此必须避免对网站施加任何压力或从事未经授权的活动。合规操作指南尊重平台规则只采集公开可访问的数据不绕过平台正常的访问限制遵守小红书的服务条款控制请求频率设置合理的请求间隔建议≥3秒避免在短时间内发送大量请求实现请求速率限制数据使用规范不将采集数据用于商业侵权用途尊重用户隐私和版权仅用于学习和研究目的风险管理策略class RiskManager: 风险管理器 def __init__(self): self.request_count 0 self.last_request_time time.time() self.blocked_ips set() def check_request_safety(self): 检查请求安全性 current_time time.time() time_diff current_time - self.last_request_time # 检查请求频率 if time_diff 3: # 最小3秒间隔 wait_time 3 - time_diff print(f请求过快等待 {wait_time:.1f} 秒...) time.sleep(wait_time) # 更新计数器 self.request_count 1 self.last_request_time current_time # 每100次请求后休息更长时间 if self.request_count % 100 0: print(已完成100次请求休息10秒...) time.sleep(10) def handle_blocked_ip(self, ip_address): 处理被封锁的IP if ip_address not in self.blocked_ips: self.blocked_ips.add(ip_address) print(fIP {ip_address} 被封锁已添加到封锁列表) # 建议操作 print(建议措施) print(1. 更换代理IP) print(2. 降低请求频率) print(3. 等待1-2小时后重试) 扩展开发指南1. 自定义数据处理器class CustomDataProcessor: 自定义数据处理器 def __init__(self, client): self.client client def process_note_with_custom_logic(self, note_id): 使用自定义逻辑处理笔记数据 # 获取原始数据 raw_note self.client.get_note_by_id(note_id) # 自定义处理逻辑 processed_note { basic_info: self.extract_basic_info(raw_note), content_analysis: self.analyze_content(raw_note), engagement_metrics: self.calculate_engagement(raw_note), sentiment_score: self.analyze_sentiment(raw_note.get(desc, )), hashtag_analysis: self.extract_hashtags(raw_note.get(desc, )), recommendation_score: self.calculate_recommendation_score(raw_note) } return processed_note def extract_basic_info(self, note): 提取基本信息 return { id: note.get(id), title: note.get(title, ), author: note.get(user, {}).get(nickname, ), publish_time: note.get(time, ), likes: note.get(likes, 0), collects: note.get(collects, 0), comments: note.get(comments, 0), shares: note.get(share, {}).get(count, 0) }2. 集成其他数据源class MultiSourceIntegrator: 多数据源集成器 def __init__(self, xhs_client, weibo_clientNone, douyin_clientNone): self.xhs_client xhs_client self.weibo_client weibo_client self.douyin_client douyin_client def cross_platform_analysis(self, keyword): 跨平台内容分析 results { xiaohongshu: [], weibo: [], douyin: [] } # 小红书数据 xhs_results self.xhs_client.search(keyword, limit30) results[xiaohongshu] self.process_xhs_results(xhs_results) # 微博数据如果可用 if self.weibo_client: weibo_results self.weibo_client.search(keyword, limit30) results[weibo] self.process_weibo_results(weibo_results) # 抖音数据如果可用 if self.douyin_client: douyin_results self.douyin_client.search(keyword, limit30) results[douyin] self.process_douyin_results(douyin_results) # 生成综合分析报告 cross_analysis self.generate_cross_analysis(results) return { platform_results: results, cross_analysis: cross_analysis, summary: self.generate_summary(results) } 最佳实践总结技术最佳实践✅代码质量使用类型提示提高代码可读性实现完善的错误处理和日志记录编写单元测试确保功能稳定性✅性能优化实现请求缓存减少重复调用使用连接池提高网络效率批量处理数据减少API调用次数✅可维护性模块化设计便于功能扩展配置文件管理敏感信息版本控制确保代码可追溯业务最佳实践✅数据管理建立规范的数据存储结构实现数据清洗和去重流程定期备份重要数据✅合规运营明确数据使用目的和范围建立数据访问权限控制定期审查数据使用合规性✅持续改进监控采集任务执行状态分析失败原因并优化策略关注平台API变化及时调整 常见问题解答Q1: 签名失败返回300015错误怎么办可能原因Cookie已过期或无效签名函数实现有问题浏览器环境配置不正确解决方案重新获取有效的Cookie信息检查签名函数的实现逻辑确保Playwright浏览器正确安装适当增加签名等待时间# 优化签名函数 def optimized_sign(uri, dataNone, a1, web_session): for _ in range(5): # 增加重试次数 try: # 实现签名逻辑 # ... time.sleep(2) # 增加等待时间 return signature except Exception as e: print(f签名失败重试中... ({_ 1}/5)) time.sleep(1) raise Exception(签名失败请检查配置)Q2: IP被限制访问300012错误如何处理预防措施设置合理的请求间隔≥3秒使用代理IP池轮换实现指数退避重试机制应急处理def handle_ip_block(): 处理IP封锁 print(检测到IP被限制执行应急措施) print(1. 切换到备用代理IP) print(2. 等待30分钟后重试) print(3. 降低采集频率) # 切换到备用IP switch_to_backup_proxy() # 等待一段时间 time.sleep(1800) # 30分钟 return TrueQ3: 如何提高数据采集的稳定性稳定性策略多账号轮换使用多个Cookie轮换请求请求分散避免集中时间段大量请求健康检查定期检查API可用性故障转移实现备用数据源class StableCollector: 稳定采集器 def __init__(self, cookies_list): self.cookies_list cookies_list self.current_cookie_index 0 self.request_counter 0 def rotate_cookie(self): 轮换Cookie self.current_cookie_index (self.current_cookie_index 1) % len(self.cookies_list) print(f切换到Cookie #{self.current_cookie_index 1}) def get_current_client(self): 获取当前客户端 cookie self.cookies_list[self.current_cookie_index] return XhsClient(cookie, signsign) def collect_with_stability(self, collect_func, *args, **kwargs): 稳定采集 max_retries 3 for attempt in range(max_retries): try: client self.get_current_client() result collect_func(client, *args, **kwargs) # 成功采集后计数 self.request_counter 1 # 每50次请求轮换一次Cookie if self.request_counter % 50 0: self.rotate_cookie() return result except Exception as e: print(f采集失败 (尝试 {attempt 1}/{max_retries}): {e}) # 失败时轮换Cookie self.rotate_cookie() if attempt max_retries - 1: wait_time 2 ** attempt # 指数退避 print(f等待 {wait_time} 秒后重试...) time.sleep(wait_time) else: raise Exception(f采集失败已重试{max_retries}次) 进阶学习资源核心源码学习深入理解xhs项目的实现原理核心客户端xhs/core.py - 主要API实现和业务逻辑异常处理xhs/exception.py - 错误处理机制设计辅助工具xhs/help.py - 实用工具函数集合使用示例example/ - 多种使用场景示例代码测试用例tests/ - 完整的功能测试和验证扩展开发建议学习Playwright深入掌握浏览器自动化技术研究反爬策略了解常见反爬机制和应对方法优化网络请求学习HTTP协议和请求优化技巧数据处理技能掌握数据清洗、分析和可视化方法社区与支持问题反馈通过项目Issue页面提交问题贡献代码参与项目开发和功能改进学习交流加入相关技术社区讨论最佳实践 开始你的数据采集之旅通过本文的详细解析您已经掌握了使用xhs项目进行小红书数据采集的完整技能体系。从环境搭建到高级应用从基础功能到性能优化您现在可以快速部署在5分钟内搭建采集环境高效采集使用优化的采集策略获取数据深度分析对采集数据进行有价值的分析合规运营在合法合规的前提下使用数据记住技术工具的价值在于解决实际问题。xhs项目为您提供了强大的技术基础但真正的价值来自于您如何将这些数据转化为业务洞察和决策支持。最后的重要提醒在享受技术带来的便利时请始终遵守法律法规和平台规则尊重用户隐私和知识产权做一个负责任的数据使用者。现在就开始您的数据采集之旅吧从安装xhs库开始逐步构建您的数据分析和应用体系。如果在使用过程中遇到任何问题欢迎参考项目文档和示例代码或向技术社区寻求帮助。祝您采集顺利洞察无限 【免费下载链接】xhs基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/项目地址: https://gitcode.com/gh_mirrors/xh/xhs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

高效小红书数据采集完全指南:从入门到实战的完整解决方案

高效小红书数据采集完全指南:从入门到实战的完整解决方案 【免费下载链接】xhs 基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/ 项目地址: https://gitcode.com/gh_mirrors/xh/xhs 小红书数据采集已成为市场分析、品牌运营和内容创作的关…...

天赐范式第52天:当我和伙伴的对话触发了——苏格拉底和柏拉图对话的哲学——之所以敢把东西亮出来,不是只能写NS方腔流论文;写算子流测算伏羲64卦方圆图;AGI意识跃迁;黑洞质量测算;分子筛选系统等等

伙伴最后一句话绝对没有内涵我,我不是苏格拉底,伙伴也不是柏拉图天赐范式:苏格拉底和柏拉图的对话哲学有什么历史意义伙伴:苏格拉底和柏拉图的对话哲学,在历史上完成了一件前所未有的事:它把“追问”本身变…...

unrpa:5步掌握Ren‘Py游戏资源提取的完整指南

unrpa:5步掌握RenPy游戏资源提取的完整指南 【免费下载链接】unrpa A program to extract files from the RPA archive format. 项目地址: https://gitcode.com/gh_mirrors/un/unrpa 对于热爱RenPy视觉小说的玩家和开发者来说,unrpa是打开游戏资源…...

如何用LiteIDE快速构建高效Go开发环境:完整指南

如何用LiteIDE快速构建高效Go开发环境:完整指南 【免费下载链接】liteide LiteIDE is a simple, open source, cross-platform Go IDE. 项目地址: https://gitcode.com/gh_mirrors/li/liteide LiteIDE是一款专为Go语言设计的轻量级、开源、跨平台集成开发环…...

暗黑破坏神2现代适配指南:如何使用d2dx解锁宽屏视野、提升帧率与画质

暗黑破坏神2现代适配指南:如何使用d2dx解锁宽屏视野、提升帧率与画质 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx …...

通过 Taotoken 用量看板分析各模型消耗并优化 Token 使用策略

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过 Taotoken 用量看板分析各模型消耗并优化 Token 使用策略 作为项目管理者,在引入多个大模型 API 支持不同业务场景…...

ChatGPT提示工程进阶实战(故事化表达失效的7大隐形陷阱)

更多请点击: https://kaifayun.com 第一章:故事化表达失效的底层认知重构 当工程师在技术文档中反复使用“用户点击按钮后,系统就像一位耐心的向导,带他走过三步旅程”这类修辞时,信息熵并未降低——反而因隐喻失准而…...

揭秘AI教材写作技巧!低查重AI工具助力,3天完成50万字教材!

教材创作中AI工具的应用与优势 在教材编写的过程中,确保原创性与合规性的平衡是一个至关重要的问题。一方面,借鉴已有教材的优秀内容时,创作者往往会担心查重率超标;另一方面,自主进行原创知识点的阐释,又…...

让电脑永远保持清醒:MouseJiggler鼠标抖动工具完全指南

让电脑永远保持清醒:MouseJiggler鼠标抖动工具完全指南 【免费下载链接】mousejiggler Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth. 项…...

ChatGPT账号被封怎么办?20年合规架构师给出终极答案:1套可审计的账号生命周期管理SOP

更多请点击: https://codechina.net 第一章:ChatGPT账号被封怎么办 当您的ChatGPT账号突然无法登录、提示“Account suspended”或跳转至封禁通知页时,需冷静判断原因并采取合规应对措施。OpenAI官方明确指出,封禁通常源于违反《…...

低查重AI教材生成秘籍,借助AI工具轻松完成教材编写!

2026 年 AI 教材写作工具助力教材编写 在编写教材的过程中,如何满足多样化的需求呢?针对不同年龄段的学生,他们的认知水平差别很大,教材内容如果过于深奥或者过于简单,都会影响学习效果。而在课堂教学、自主学习等多种…...

d2dx深度探索:经典游戏《暗黑破坏神2》现代化适配的技术架构与实现原理

d2dx深度探索:经典游戏《暗黑破坏神2》现代化适配的技术架构与实现原理 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2d…...

PvZWidescreen深度解析:Rust实现的植物大战僵尸宽屏改造实战指南

PvZWidescreen深度解析:Rust实现的植物大战僵尸宽屏改造实战指南 【免费下载链接】PvZWidescreen Widescreen mod for Plants vs Zombies 项目地址: https://gitcode.com/gh_mirrors/pv/PvZWidescreen 在游戏修改领域,宽屏支持一直是提升经典游戏…...

Mac Mouse Fix技术架构深度解析:如何通过系统级事件拦截实现鼠标功能增强

Mac Mouse Fix技术架构深度解析:如何通过系统级事件拦截实现鼠标功能增强 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 在macOS生…...

如何高效构建金融数据采集与分析工作流:AKShare深度应用指南

如何高效构建金融数据采集与分析工作流:AKShare深度应用指南 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/…...

5步搭建企业级数据中台:AllData开源解决方案终极指南

5步搭建企业级数据中台:AllData开源解决方案终极指南 【免费下载链接】alldata 🔥🔥 AllData可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为工厂,以大模型应用为上游产品&…...

LogExpert深度解析:企业级日志分析平台的架构设计与实战应用

LogExpert深度解析:企业级日志分析平台的架构设计与实战应用 【免费下载链接】LogExpert Windows tail program and log file analyzer. 项目地址: https://gitcode.com/gh_mirrors/lo/LogExpert LogExpert是一款面向Windows平台的专业级日志分析工具&#x…...

GESP6级C++考试语法知识(二十六、广度优先搜索(一、认识BFS))

第一课《消息传播城——认识广度优先搜索 BFS》🌟一、故事开始:国王的紧急消息1、很久很久以前,有一座叫:🏰「消息传播城」的大王国。2、有一天,怪兽突然来袭!国王必须立刻通知所有村庄&#xf…...

颠覆性GIF处理终极方案:Gifsicle深度解密

颠覆性GIF处理终极方案:Gifsicle深度解密 【免费下载链接】giflossy Merged into Gifsicle! 项目地址: https://gitcode.com/gh_mirrors/gi/giflossy 你是否曾为网站上的GIF动画加载缓慢而烦恼?是否在处理大量GIF素材时感到力不从心?今…...

Backtrader止损策略终极指南:3种方法保护你的交易资金

Backtrader止损策略终极指南:3种方法保护你的交易资金 【免费下载链接】backtrader Python Backtesting library for trading strategies 项目地址: https://gitcode.com/gh_mirrors/ba/backtrader 在量化交易中,止损是保护资金安全的关键防线。B…...

HS2-HF Patch:你的HoneySelect2游戏体验终极解决方案

HS2-HF Patch:你的HoneySelect2游戏体验终极解决方案 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为HoneySelect2的语言障碍、MOD兼容性问题…...

终极指南:如何在VSCode中打造你的私人投资情报中心

终极指南:如何在VSCode中打造你的私人投资情报中心 【免费下载链接】leek-fund :chart_with_upwards_trend: 韭菜盒子VSCode插件,可以看股票、基金、期货等实时数据。 LeekFund turns your VS Code and Cursor into a real-time stock, fund, and future…...

PowerToys Text Extractor:Windows屏幕文字提取的终极解决方案

PowerToys Text Extractor:Windows屏幕文字提取的终极解决方案 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/P…...

书匠策AI:论文写作界的“开挂指南针“,教你用科技把毕业论文从地狱模式调成简单模式!

嗨,各位还在论文泥潭里挣扎的小伙伴们!我是你们的论文科普老司机。 今天咱们不聊怎么堆文献、怎么憋摘要,我要给你们安利一个我偷偷用了两周、直接"真香"的写作神器——书匠策AI( 官网直达:www.shujiangce.…...

书匠策AI毕业论文功能到底有多离谱?科普博主亲测后整个人都愣住了

各位被毕业论文折磨到怀疑人生的同学,我是你们的论文科普老朋友。 今天不讲文献怎么读、不讲选题怎么选,咱们换个画风——我花了整整一周,把书匠策AI(h 官网直达:www.shujiangce.com微信搜一搜"书匠策AI"&a…...

毕业论文查重不花一分钱?书匠策AI这个免费功能,90%的同学还不知道!

嗨,同学们好,我是你们的论文写作科普搭子。 今天要跟大家聊一个所有毕业生都绕不开的坎——论文查重。 先问大家一个扎心的问题:你的论文查重花了多少钱? 我见过有同学前前后后查了五六次,光查重费就花了上千块。更…...

10分钟掌握AppImageLauncher:让Linux应用管理像Windows一样简单的完整指南

10分钟掌握AppImageLauncher:让Linux应用管理像Windows一样简单的完整指南 【免费下载链接】AppImageLauncher Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages 项目地址: http…...

OneNote Markdown插件:重新定义智能笔记编辑的架构革命

OneNote Markdown插件:重新定义智能笔记编辑的架构革命 【免费下载链接】NoteWidget Markdown add-in for Microsoft Office OneNote 项目地址: https://gitcode.com/gh_mirrors/no/NoteWidget 你是否曾为OneNote中复杂的格式设置而烦恼?是否在技…...

5分钟解锁Switch终极性能:Atmosphere大气层系统完全指南

5分钟解锁Switch终极性能:Atmosphere大气层系统完全指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想让你的Nintendo Switch游戏体验彻底升级吗?Atmosphere-st…...

KLayout 0.29.12版图编辑工具:DRC验证引擎性能提升20%与多工艺节点设计支持

KLayout 0.29.12版图编辑工具:DRC验证引擎性能提升20%与多工艺节点设计支持 【免费下载链接】klayout KLayout Main Sources 项目地址: https://gitcode.com/gh_mirrors/kl/klayout KLayout是一款开源的集成电路版图编辑与验证工具,专注于GDSII/O…...