首页/新闻资讯/正文详情

在线扒站源码实战:从wget命令到动态接口抓取的完整指南

发布时间:2026/9/26 10:14:04 来源:云帆数科 栏目:资讯中心
在线扒站源码实战:从wget命令到动态接口抓取的完整指南
简介这是一份在线扒站与网页源码抓取技术的实操资源包面向想学习HTML爬站、整站下载与源码分析的初中级开发者。资源以静态网页项目形式呈现包含16个文件、压缩包体积约129KB主要涵盖jQuery、Bootstrap、localforage等前端JS库以及HTML、CSS、SVG、PNG和ICO等页面资源适合用来理解网页结构、镜像站点工具逻辑与前端资源组织方式。已有5128人学习下载说明该主题在网站备份、竞品页面分析和数据提取场景中具有较高参考价值。通过学习包内文件读者可以直观看到在线扒站工具常见的页面入口、脚本调用方式与静态资源引用结构并能结合Wget、HTTrack等命令行或镜像工具掌握发送HTTP请求、解析HTML、处理动态内容及遵守robots.txt等关键环节为后续构建轻量级爬虫或网站离线备份方案打下基础。1. 在线扒站源码到底在扒什么不只是 HTML而是一份能离线打开的站点副本第一次搜“在线扒站源码”的人通常手头有一个眼馋的站点排版好看、交互简洁但对方没开源。所谓“在线扒源码”是把线上站点正常返回的 HTML、CSS、JavaScript、图片、字体完整抓回本地重组出一份能离线打开、能继续改的站点副本。市面上不少挂着“在线扒站”名字的工具站比如 js11227.com 这类多数只是给 wget、HTTrack 套了层网页壳。下面按判断站点类型、选工具、跑命令、排坑、验证的顺序把我实际用过的命令和翻车点整理出来。做站点离线备份、前端参考、快速攒源码库的人都用得上。2. 动手前先分清静态站和动态站选错工具扒回来就是一堆残废 html很多人一上来就wget -r甩出去跑了一晚上才发现首页是个 React 空壳。扒站先花三分钟判断目标站是静态还是动态能省下后面一晚上返工。2.1 三分钟判断目标站是纯 HTML 还是 JS 渲染用 curl 看返回体在浏览器里右键“查看网页源代码”如果能直接看到正文文本、img标签、业务 class 名说明内容是服务端渲染好的静态镜像工具能用。如果源代码里只有一个div idapp/div加一堆script数据全靠 JS 拉接口再填充那 wget 只能扒到壳。不放心的话用 curl 看服务端实际返回了什么curl -s -A Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \ https://example.com/ | head -c 2000-s是静默模式不打印下载进度-A把 User-Agent 改成真实浏览器避免被默认 UA 拒绝head -c 2000只截取前 2000 字节看内容。返回里能看到正文关键词基本可以判断是静态站如果输出全是空标签和 script 引用就走后面第 4 章的接口抓取方案。页面需要登录才能看到内容的情况也归入动态方案因为 wget 直接跑拿不到登录后的数据除非你已经准备好带 Cookie 的请求头。这一步判断不超过三分钟值得在每次扒站之前都做一次。2.2 常见扒站工具选型wget、HTTrack、自写脚本的取舍没有万能的扒站工具只有适合当前站点类型的工具。我做整站镜像时的选型标准大致是这样工具最适合的场景优点常见缺点wget服务端渲染的静态站参数稳定、适合脚本化、断点续传友好对动态渲染和带签名的接口无能为力HTTrack中小型整站镜像图形化队列、自动重写链接、支持排除规则抓取策略偏激进队列细节不容易控制requests BeautifulSoup有明确接口、需要二次加工的站可以自由处理 JSON、翻页、文件整理所有边界条件自己写PlaywrightJS 渲染且接口带签名的站能拿到真实执行完 JS 的 DOM慢、吃内存、资源文件还要二次下载选型核心原则是能用简单工具解决的不要上浏览器。一个纯静态营销页wget 一条命令解决一个内容站带分页和文章详情HTTrack 更稳一个管理后台或列表接口脚本最灵活页面渲染强依赖 JS 时才考虑无头浏览器。所谓“在线扒站源码”的网页壳本质就是把下面这些命令行参数换成表单参数理解得越清楚越不会被工具站的黑匣子卡住。2.3 自己写一个在线扒站源码的骨架requests BeautifulSoup 的最小实现理解扒站原理最直接的方式就是写一个最小可用的源码骨架。下面这段代码抓首页并把页面里的图片、CSS、JS 下载到本地目录同时把 HTML 里的资源路径改成相对路径保证离线能开import os import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlparse start_url https://example.com/ headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, } resp requests.get(start_url, headersheaders, timeout15) # 优先按页面实际编码解码避免后面写文件时中文乱码 resp.encoding resp.apparent_encoding soup BeautifulSoup(resp.text, html.parser) os.makedirs(mysite, exist_okTrue) # 遍历页面里常见的静态资源标签 for tag, attr in [(img, src), (link, href), (script, src)]: for node in soup.find_all(tag): value node.get(attr) if not value or value.startswith(data:): continue full_url urljoin(start_url, value) # 把相对路径拼成完整 URL path urlparse(full_url).path.lstrip(/) if not path: continue local_path os.path.join(mysite, path) os.makedirs(os.path.dirname(local_path), exist_okTrue) with open(local_path, wb) as f: f.write(requests.get(full_url, headersheaders, timeout15).content) # 把页面里的资源路径改成相对路径离线才能直接打开 node[attr] ../ path with open(os.path.join(mysite, index.html), w, encodingutf-8) as f: f.write(str(soup))这是我最常用来封装在线扒站逻辑的骨架。流程很简单先取首页 HTMLBeautifulSoup 找出img、link、script三类标签的地址urljoin处理相对路径urlparse只取 path 部分作为本地保存路径下载完成后把页面里的src、href改成相对路径。三个关键点第一headers里必须有接近真实浏览器的 User-Agent很多站点对 requests 默认 UA 直接返回 403第二resp.encoding resp.apparent_encoding不能省否则 GBK 编码的站写出来就是乱码第三urljoin必须用因为页面里大量写的是images/logo.png这种相对地址不拼完整 URL 没法下载。局限也要说清楚这套骨架只覆盖单页的img/link/scriptCSS 里的background url()、懒加载的>wget \ --recursive \ --level5 \ --page-requisites \ --convert-links \ --adjust-extension \ --no-parent \ --restrict-file-nameswindows \ --directory-prefixmysite \ --timeout20 \ --tries2 \ --user-agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \ https://example.com/--recursive开启递归抓取没有它 wget 只下载单个页面。--level5递归深度限制为 5 层。默认无限深度碰上无限滚动或日历参数会跑到失控。--page-requisites把页面渲染需要的不只是 HTML还有 CSS、JS、图片、字体全部拿下来。不加这个参数扒回来大概率是只有文字没有样式的残废页面。--convert-links下载完成后重写 HTML 里的链接把指向线上的绝对路径改成本地相对路径。这是离线能直接打开的关键。--adjust-extension遇到/article?id1这类不带.html的 URL保存时补上.html后缀方便浏览器识别。--no-parent禁止往上抓取上级目录避免把链接指向的上级栏目也一起拖进来。--restrict-file-nameswindows把 URL 里的特殊字符转成 Windows 兼容文件名。如果只在 Linux 上用可以不加但目录要拷给同事加上能省很多乱码文件名的麻烦。--directory-prefixmysite指定保存目录。--timeout20 --tries2防止某个资源卡死导致整个任务挂住。--user-agent必须写。不少站点对 wget 默认的 UA 直接拒绝这个头就是你的第一层“入场券”。如果只想要首页和它依赖的资源先跑这条窄命令wget --page-requisites --convert-links \ --directory-prefixmysite \ https://example.com/没有--recursivewget 不会展开整站只会把首页及相关资源拉回来。我习惯先跑一遍看页面效果确认样式、图片都在再上完整递归命令相当于花一分钟先看效果避免一次性把错误目录结构也抓到本地。3.2 带登录态和 Referer 的扒法Cookie、UA、请求头写进 wget部分站点需要登录才能看到正文或者图片目录做了防盗链。wget 可以用--header逐个加请求头wget \ --headerUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \ --headerReferer: https://example.com/ \ --headerCookie: sessionidabc123 \ --recursive --level3 \ --page-requisites --convert-links \ https://example.com/dashboard--header会在每个请求里带上对应头。Cookie 从浏览器 DevTools 的 Network 面板里复制只需要复制像sessionidabc123这样的必要字段不用整段复制。整段复制容易把一些浏览器扩展写进 Cookie 的无效字段也带进去无端增加被服务端拒绝的概率。如果 Cookie 很长建议保存成 Netscape 格式的 cookies.txt 再用--load-cookies加载wget --load-cookies cookies.txt \ --recursive --level3 \ --page-requisites --convert-links \ https://example.com/cookies.txt 每行格式是域名、是否包含子域、路径、是否 HTTPS、过期时间、Cookie 名、Cookie 值。手工维护比较烦我一般直接从浏览器插件导出。遇到 403 不要立刻怀疑是 IP 被拉黑先检查 Referer。图片防盗链的常见做法是校验 Referer 必须来自同站点wget 的递归请求默认不带 Referer这一个头漏掉图片就会全部 403。经验做法是 Referer 统一指向站点首页不要指向具体图片页。3.3 断点续传和后台跑长任务nohup wget -c 的组合内容多的站点递归镜像跑半小时很正常。终端一旦断开wget 默认跟着退出前面就白跑了。我一般用 nohup 把任务放到后台日志写进文件nohup wget -c \ --recursive --level5 \ --page-requisites --convert-links \ --directory-prefixmysite \ https://example.com/ wget.log 21 nohup让进程忽略挂断信号-c是断点续传中断后再次执行会从已下载的字节继续 wget.log 21把标准输出和错误都写进日志最后的让命令在后台执行。看进度用tail -f wget.log关注日志里反复出现的某个 URL那往往是循环链接或无法下载的异常资源。注意-c在递归模式下并不是每个文件都能精确断点续传HTML 类小文件经常会被重新拉取这不影响最终完整性不用太纠结日志里的重复记录。任务结束后做一次统计du -sh mysite find mysite -type f | wc -ldu -sh看总共占了多少空间find mysite -type f | wc -l统计文件数量拿这个数和线上站点的资源规模做对比能快速判断是不是漏抓了大目录。4. 动态站点和接口型站点怎么扒解析 XHR、落 JSON、再渲染成静态 html静态镜像工具面对动态站基本失效。动态站的内容不是藏在 HTML 里而是藏在 XHR 接口里。扒这类站的核心思路也变成找到接口拿到 JSON自己渲染成静态 html。4.1 在 DevTools 里定位 XHR 接口过滤条件与翻页规律打开 DevTools 的 Network 面板勾选 Fetch/XHR刷新页面。列表里凡是返回 JSON 的请求就是数据接口。常见的特征包括/api/list、/api/articles?page1这类路径。在 Preview 或 Response 里看返回的 JSON找到标题、链接、时间这些字段名后续抓取脚本就按这些字段解析。需要翻页时切换页面上的下一页观察 XHR 请求的 query 参数变化通常是page2或offset20这个规律看两页就能确认。如果接口带 token 或签名先别急着逆向 JS。打开 Console 刷新页面很多站点会把 token 存在 Cookie 里或者挂在某个全局变量上。带 Cookie 能解决就直接带如果签名是动态计算的就用 4.3 的无头浏览器方案而不是去分析压缩混淆过的 JS 文件。无限滚动的站点会持续刷 XHR这类接口抓取一定要加 sleep把对方接口打挂了你的 IP 可能直接被防火墙拦掉得不偿失。4.2 用一个 Python 脚本把 JSON 接口变成整页 html找到接口后用脚本抓取并渲染成本地 html。这里给一份可直接改的模板import html import time import requests api https://example.com/api/articles?page1size20 headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, Referer: https://example.com/articles, X-Requested-With: XMLHttpRequest, Accept: application/json, } resp requests.get(api, headersheaders, timeout10) resp.raise_for_status() data resp.json() cards [] for page in range(1, 6): # 抓前 5 页 resp requests.get( fhttps://example.com/api/articles?page{page}size20, headersheaders, timeout10 ) for item in resp.json()[data][list]: title html.escape(item[title]) link html.escape(item[url]) cards.append(flia href{link} target_blank{title}/a/li) time.sleep(1) # 控制请求频率避免触发风控 page f!doctype html html langzh-cn head meta charsetutf-8 title文章列表/title /head body ul {.join(cards)} /ul /body /html with open(articles.html, w, encodingutf-8) as f: f.write(page) print(saved, len(cards), items)headers里的Referer和X-Requested-With很关键很多后端靠这两个头判断请求是不是从页面内部发起的缺了容易出现空数据或 403。html.escape用来转义标题里的尖括号和引号避免抓回来的内容里藏了script之类的注入代码。time.sleep(1)是给分页循环做的限速频率太低容易触发反爬。最后的 HTML 用 f-string 拼出来注意.join(cards)的写法直接str(cards)会把逗号也带进去。这个方案的价值在于你不用管原始站点是 Vue 还是 React只要接口还在就能用自己的模板生成稳定、干净、离线可读的页面。4.3 实在要跑浏览器用 Playwright 无头模式抓 JS 渲染后的 html有些站点数据完全在 JS 里计算接口也带签名选择直接渲染浏览器是最后的后悔药。Playwright 无头模式适合这种场景from playwright.sync_api import sync_playwright with sync_playwright() as p: browser p.chromium.launch(headlessTrue) page browser.new_page( user_agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36, viewport{width: 1280, height: 800}, ) page.goto(https://example.com/, timeout30000) page.wait_for_selector(.list-item) # 滚动到底部触发懒加载 page.evaluate(window.scrollTo(0, document.body.scrollHeight)) page.wait_for_timeout(2000) html_text page.content() with open(rendered.html, w, encodingutf-8) as f: f.write(html_text) browser.close()headlessTrue表示不显示浏览器窗口适合在服务器上跑。wait_for_selector等待首屏数据渲染完成比固定sleep可靠。滚动到底部是为了触发懒加载wait_for_timeout给后续接口留出返回时间。page.content()拿到的是 JS 执行完之后的完整 DOM而不是初始的壳。注意 Playwright 拿到的 HTML 里资源路径可能是浏览器展开后的完整 URL要转成离线副本还得继续下载资源并重写路径。另外如果页面强依赖 WebSocket 或 Canvas 实时绘制无头浏览器也只能拿到某一帧的快照不要执着于完全复刻把 DOM 当静态快照存档就够了。5. 扒站避坑五处必踩的坑附现象、原因和解决扒站翻车基本都翻在这五个地方。每一条我都给出现象、原因和解决照着排查比重新扒一遍省时间。5.1 扒完双击打开却是空白页相对路径、绝对路径和 base 标签现象本地打开 index.html文字能出来但样式全丢图片全裂。原因三个可能位置。第一页面里写了base hrefhttps://example.com/浏览器会把所有相对路径拼到线上域名本地自然拿不到资源。第二HTML 本身用的是/assets/style.css这种根路径绝对地址没有--convert-links就不会被重写。第三自写脚本时只下载了资源忘了把标签里的地址改成相对路径。解决wget 镜像必须保留--convert-links它会批量重写 HTML 里的链接。自写脚本则要像 2.3 的骨架那样每下载一个文件就把src、href改成../开头的相对路径。遇到base标签离线后直接删掉或改成base href./避免本地文件被强行指回线上。5.2 图片全裂、字体不显示防盗链和 Referer 的拉扯现象HTML 结构完整但图片全部显示裂图字体文件也加载不出来。原因站点或 CDN 配置了防盗链只有带正确 Referer 的请求才返回图片内容。wget 递归抓取子资源时默认不会带上 Referer所以图片请求被源站拒绝。解决镜像命令里加一行固定 Referer 头wget \ --headerReferer: https://example.com/ \ --recursive --level5 \ --page-requisites --convert-links \ https://example.com/如果图片已经抓完但内容不对可以在脚本里单独对图片域名重试请求把 Referer 改成图片所在页面。如果原始域名已经不可用那图片是拿不回来的不用在这上面死磕优先保证 HTML 和样式表完整。5.3 HTML 源码里夹带统计脚本和第三方外链怎么看、怎么清现象扒下来的页面在本地打开后台还在请求第三方统计域名甚至有弹窗。原因原始 HTML 里直接写了统计脚本、广告脚本或其它第三方外链这些脚本在离线环境下也会尝试连接外网拖慢打开速度还可能加载出一堆无关内容。解决镜像完成后做一次全局清理搜出所有http开头的 script、link、iframe按域名过滤掉。用 Python 批量清import re from pathlib import Path for f in Path(mysite).rglob(*.html): text f.read_text(encodingutf-8, errorsignore) text re.sub(rscript[^]srchttps?://[^]*[^]*/script, , text) f.write_text(text, encodingutf-8)这段正则只删除带外部 src 的 script 标签内联脚本保留。清理之后再用本地静态服务跑一遍确认不再有外网请求。这个步骤也是我每次扒站之后必做的卫生工作既减少本地卡顿也避免离线页面暗藏第三方追踪。5.4 磁盘被无限递归塞满失控的层级抓取和循环链接现象wget 跑了一会儿目录已经几个 G日志里全是同一个页面加了不同 query 参数的 URL。原因日历控件、排序按钮、无限滚动、验证码跳转都会生成新的 URLwget 把它们当成新页面一路抓下去。带参数的 URL 尤其危险?page1、?page2可以无限组合。解决限制递归深度再给总量封顶wget \ --recursive --level2 \ --quota200m \ --reject-regex\?|page \ --page-requisites --convert-links \ https://example.com/--quota200m是总下载量上限超过就停这是最有效的“后悔药”。--reject-regex按正则排除带问号和 page 的 URL避免陷入查询参数漩涡。拿不准的时候先用--level1跑一遍看抓了多少文件再决定要不要加深。5.5 页面打开全是乱码编码声明与实际字节不一致现象浏览器打开本地 HTML中文变乱码但同一文件在线上是正常的。原因服务器实际返回的是 GBK 字节HTML 里却声明meta charsetutf-8或者反过来。wget 把原始字节存下来本地浏览器按 meta 声明解码自然乱码。解决写脚本时用resp.encoding resp.apparent_encoding让 requests 自动猜编码。已经抓完的文件用 iconv 批量转iconv -f GBK -t UTF-8 index.html index_utf8.html文件多时用 Python 统一处理from pathlib import Path for f in Path(mysite).rglob(*.html): raw f.read_bytes() try: text raw.decode(gbk) except UnicodeDecodeError: continue f.write_bytes(text.encode(utf-8))先按 GBK 解解不开说明本来就是 UTF-8跳过。转完之后记得把 HTML 头部的 charset 声明也统一改成 utf-8不然浏览器还是会按旧声明解码。6. 扒完之后怎么办验证、把多个 html 打包成 zip、再转 markdown6.1 本地起一个静态服务核对文件数扒完先别急着开 file:// 协议直接双击file 协议下很多相对路径行为和服务环境不一致。我习惯先起一个本地静态服务cd mysite python -m http.server 8080浏览器访问http://localhost:8080逐个点击主要栏目看控制台有没有 404。然后用两条命令做量化核对find mysite -type f | wc -l du -sh mysite文件数和总体积对不上预期说明有资源没抓下来优先排查懒加载和防盗链。6.2 把扒下来的 html 批量转成 markdownhtml2text 与 pandoc 的选择如果扒站是为了研究内容而不是还原页面把 html 转成 markdown 更好检索。我常用 html2textpython -m pip install html2text python - PY import html2text from pathlib import Path for f in Path(mysite).rglob(*.html): md html2text.html2text(f.read_text(encodingutf-8, errorsignore)) f.with_suffix(.md).write_text(md, encodingutf-8) PYhtml2text 对标题、列表、链接的支持够用遇到复杂表格改用 pandoc 的 GFM 格式更稳pandoc index.html -t gfm -o index.md6.3 我现在的习惯扒前记清单、扒后清外链维护一个本地索引我现在扒站的固定流程是动工前先列资源清单把栏目、图片目录、接口路径写进 README避免抓完不知道抓了什么扒完统一清统计脚本再按栏目建目录把 index.html、assets、api_json 分开存攒成一个私人版“免费 python 源码大全”式的本地索引。如果只是为了收集页面素材我会把多个 html 连同 assets 打包成 zip 归档比散目录省心得多。做 html 网页制作参考时也从这些归档目录里翻同类型站点对照。希望这些命令和踩坑记录能帮到你。本文还有配套的精品资源点击获取

相关推荐

体育馆预约平台实战:Spring Boot+Vue+MySQL实现场地预约与订单闭环
体育馆预约平台实战:Spring Boot+Vue+MySQL实现场地预约与订单闭环

简介:这份资源是面向高校计算机专业学生与Java Web开发初学者的体育馆使用预约平台完整项目,采用Spring Boot后端、Vue前端与MySQL数据库构建,可作为毕业设计选题或课程实训参考,帮助解决场地预约信息管理中流程不规范、容错率低、… · 2026/9/26 10:14:04

最近爆火的Manus横空出世,到底是什么?TaoToken统一Key接入AI智能体实战解析
最近爆火的Manus横空出世,到底是什么?TaoToken统一Key接入AI智能体实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:13:58

反刍 AI-MUD-MCP 游戏开发日志:用 FastMCP 搭代码框架,TaoToken 统一 Key 接入 DeepSeek
反刍 AI-MUD-MCP 游戏开发日志:用 FastMCP 搭代码框架,TaoToken 统一 Key 接入 DeepSeek

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:13:58

分布式锁在梯控集群调度中的高并发实践
分布式锁在梯控集群调度中的高并发实践

1. 场景与难点:机器人梯控到底在控什么去年做楼宇机器人物流调度,项目从立项到落地用了一年。电梯控制这块不算最起眼,但绝对是最磨人的。今天把核心部分,也就是基于分布式锁的梯控集群调度,拿出来详细聊一聊。这套系统… · 2026/9/26 10:49:58

MCP 与 Agent Skill 别再搞混了:从 settings.json 到 config.toml 一次理清(保姆级教程)
MCP 与 Agent Skill 别再搞混了:从 settings.json 到 config.toml 一次理清(保姆级教程)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:49:52

一句话说清 AD:默认 Computers 容器不是 OU,TaoToken 帮你把 redircmp 与 GPO 配置一次跑通
一句话说清 AD:默认 Computers 容器不是 OU,TaoToken 帮你把 redircmp 与 GPO 配置一次跑通

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:49:52

【值得收藏】AI架构选型指南:单Agent vs 多Agent,用TaoToken统一Key跑通思维链配置
【值得收藏】AI架构选型指南:单Agent vs 多Agent,用TaoToken统一Key跑通思维链配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:49:52

opencode.json 里 playwright-extension-mcp 连不上浏览器?先查这份配置骨架
opencode.json 里 playwright-extension-mcp 连不上浏览器?先查这份配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:49:52

Laya Core ML ANE 可行性研究:等价图变换与可测量的 10× 能耗目标
Laya Core ML ANE 可行性研究:等价图变换与可测量的 10× 能耗目标

【免费下载链接】laya-coreml Local Laya typed decisions on Apple Core ML and Neural Engine. Validated ports, ~5 ms short decisions on M3 Max, reproducible speed and energy benchmarks. 项目地址: https://gitcode.com/gh_mirrors/la/laya-coreml 点击查… · 2026/9/26 10:49:45

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码