Video To Article

Polar Sponsor
爱发电 赞助
.NET 9.0

将视频、字幕文件或大型课程目录转换为结构化图文笔记。仅当用户明确要求执行完整的视频转文章工作流,例如下载视频、生成图文文章、写入 Obsidian 或批量导入课程时使用;如果用户只想做摘要、问答、术语提取或轻量分析,应优先采用只读分析流程。

Video to Article 全能视频转图文工作流

功能概述

Video to Article 全能视频转图文工作流是一项面向实际任务的技能,主要用于这个技能用于把视频内容转换成可读、可复用的图文笔记,偏重实际可落地的生产流程;安全边界与执行原则;

核心要点

  • 默认先走 只读预览模式 ,不要一上来就下载、写文件、执行脚本或提交 Git;
  • 只读预览模式;
  • 适用于用户只想:;

使用与执行

看视频是否可下载;获取元信息;评估转录方案;规划截图和文章结构;基于字幕做总结、问答、术语提取;在这个模式下:;不下载视频;

结果检查与注意事项

不写入 Vaul。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Video to Article 全能视频转图文工作流

这个技能用于把视频内容转换成可读、可复用的图文笔记,偏重实际可落地的生产流程。

安全边界与执行原则

默认先走只读预览模式,不要一上来就下载、写文件、执行脚本或提交 Git。

只读预览模式

适用于用户只想:

  • 看视频是否可下载
  • 获取元信息
  • 评估转录方案
  • 规划截图和文章结构
  • 基于字幕做总结、问答、术语提取

在这个模式下:

  • 不下载视频
  • 不写入 Vault 或仓库
  • 不执行生成脚本
  • 不做 git commit 或 git push

执行模式

只有在用户明确确认后,才允许执行以下有副作用的操作:

  • 下载视频或字幕
  • 使用 Cookie / 登录态
  • 写入 Obsidian Vault、课程目录或仓库
  • 执行 _batch_screenshots.sh 这类生成脚本
  • 修改 index.md、写日志、git commit
  • git push

明确限制

  • 如果用户没有明确给出输出目录,不要擅自写入默认路径
  • 如果内容涉及付费、私有或登录后资源,先确认用户有权访问
  • 不要在回复、日志、笔记或仓库中泄露 Cookie、Token 或其他认证信息
  • 对任何将要执行的 shell 脚本,先展示用途、输出路径和关键命令,再执行
  • git push 必须单独确认,不能视为默认收尾步骤

核心能力矩阵

模式 输入 输出 适用场景
A: 单视频笔记 视频 URL 或本地视频文件 图文混排 Obsidian 笔记,可选 Git 推送 影评、教程、做饭视频、Vlog
B: 字幕学习 已有字幕文件(.srt / .vtt) 摘要、测验、词汇表、章节笔记、问答 基于已有转录内容学习
C: 大课程导入 含大量视频的课程文件夹 Section 级图文文章和索引 Udemy / 慕课 / 培训课程批量导入

模式 A:单视频转图文笔记

常见触发词

只有在用户明确表达“要落盘执行”时再触发完整工作流,例如:

  • “把这个视频整理成可落盘的图文笔记”
  • “下载视频并生成 Obsidian 图文文章”
  • “把整个课程目录批量导入成文章”
  • “基于字幕生成学习材料,但不要修改本地文件”

如果用户只是说“总结一下视频”或“帮我看看讲了什么”,优先走只读分析,不要自动进入下载和写文件流程。

工作流

Step 1:识别平台和认证需求

平台 是否通常需要 Cookie 格式策略 备注
Bilibili (b23.tv / bilibili.com) 通常需要 先跑 -F,再显式选择格式 ID BV 号视频,可能遇到 412 反爬
YouTube (youtube.com / youtu.be) 通常不需要 优先 bestvideo[height<=720]+bestaudio 下载相对直接
TED / Coursera / Udemy 视情况 先跑 -F 付费内容可能要求登录
抖音 / TikTok / 小红书 通常不需要 自动选择通常够用 短视频居多
其他 1700+ 平台 视情况 先跑 -F 需要时用平台特定兜底策略

Bilibili Cookie 导出示例:

# 将浏览器 Cookie 导出成 Netscape 格式
python3 path/to/bili_cookie_to_netscape.py

Cookie 安全要求:

  • Cookie 属于敏感认证信息,等同于登录态
  • 仅在用户明确授权访问其账号可见内容时使用
  • 不要把 Cookie 写入仓库、笔记、日志或聊天输出
  • 如果只是公开内容预览,优先先尝试无 Cookie 方案

Step 2:解析视频 ID 并获取元信息

# 解析 Bilibili 短链
VIDEO_ID=$(curl -sL "https://b23.tv/XXXXX" -o /dev/null -w "%{url_effective}" | sed 's/.*/video///;s/[/?].*//')

# 不下载直接读取元信息
yt-dlp --no-download --print "%(title)s|%(duration)s|%(uploader)s" ""

Step 3:下载视频

这是有副作用操作。只有在用户明确同意下载,并且已经确认输出目录后再执行。

实用默认策略:

  • 小于 4 分钟:优先 1080p
  • 大于等于 4 分钟:优先 720p
# 先查看可用格式
yt-dlp -F ""

# 下载(Bilibili 需要时加 --cookies)
mkdir -p "/"
yt-dlp -o "//video.%(ext)s" 
  -f "" --merge-output-format mp4 ""

Step 4:用 Whisper 转录

如果用户只是要摘要或问答,优先复用现有字幕或已有转录,不要默认重新下载并转录整段视频。

python3 << 'PYEOF'
from faster_whisper import WhisperModel
model = WhisperModel("base", device="cpu", compute_type="float32",
                     download_root="")
segments, _ = model.transcribe("//video.mp4", language="zh", beam_size=5)
with open("//transcript.txt", "w") as f:
    for seg in segments:
        f.write(f"[{seg.start:.1f}s - {seg.end:.1f}s] {seg.text.strip()}n")
PYEOF

语言建议:

  • 中文:language="zh"
  • 英文:language="en"
  • 自动识别:省略语言参数

模型取舍:

  • tiny:最快
  • base:推荐默认
  • small:更准但更慢

Apple Silicon 加速:

  • device="mps", compute_type="float16"

Step 5:先分类内容,再规划截图

先根据转录内容判断视频类型,再决定截图密度。

视频类型 特征 截图数量 密度规则
讲演 / 影评 / 长分析 论点推进,口播为主 8-12 大约每 30-40 秒 1 张
教程 / 实操演示 步骤递进,UI 或代码变化明显 3-8 每个关键步骤 1 张
论坛 / 对谈 多人发言,话题切换明显 5-8 说话人切换或话题转折时截
Vlog / 随口杂谈 叙事松散 3-5 按场景变化截
30 秒以内 单点信息 1 开头帧即可
30-120 秒 短内容分段明显 3-5 按段落切分

截图时间点经验:

  • 讲演类:标题画面、引出核心概念、每个主要论点首帧、金句时刻、结尾
  • 教程类:每个关键步骤变化、UI 切换、结果展示画面
  • 避免截图:填充性口播、画面没变化的 talking head、重复画面

命名规范:

  • 使用英文 kebab-case
  • 使用两位数字前缀
  • 例如:01-intro.jpg、02-core-concept.jpg

Step 6:批量抽帧

这是文件写入操作。执行前先确认截图输出目录和命名规则。

VIDEO="//video.mp4"
OUTDIR="//screenshots"
mkdir -p "$OUTDIR"
ffmpeg -y -ss  -i "$VIDEO" -frames:v 1 "$OUTDIR/01-intro.jpg"

Step 7:生成图文笔记

这是持久化写入操作。只有在用户明确要求写入 Vault 或指定目录后再执行。

mkdir -p "/assets/video/"
cp //screenshots/*.jpg "/assets/video//"

推荐笔记结构:

---
title: <核心主题>
source: 
author: <作者>
type: 文献笔记
tags: [视频笔记, <主题标签>]
created: 
---

# <作者>:<标题>

> **来源**:<平台> @<作者>

## 核心洞见
1-2 段概括

![[../../../assets/video//02-xxx.jpg]]

## <分节标题>
...
![[../../../assets/video//xxx.jpg]]
> "<转录中的引用原文>"

## 行动清单
- [ ] ...

## 金句
> ...

## 相关笔记
- [[已有笔记]] - 关联原因

图片引用格式:

![[../../../assets/video//.jpg]]

Step 8:把笔记接入知识库

默认只给出关联建议。只有在用户明确要求更新知识库时,才执行全文搜索和实际写入动作。

find "" -name "*.md" | xargs grep -li ""

Step 9:提交并推送

这一步必须拆开处理:

  • git add / git commit 仅在用户明确要求版本化本次结果时执行
  • git push 必须单独确认,不能默认执行
cd "" && git add -A && git commit -m "video note: " && git push
</pre>
<h2>模式 B:基于字幕学习</h2>
<h3>常见触发词</h3>
<p>“学习这个字幕”、“总结这个转录”、“根据这个字幕出题”、“整理术语”、“考考我这个视频”</p>
<h3>输入来源</h3>
<table>
<thead>
<tr>
<th>来源</th>
<th>获取方式</th>
<th>预处理</th>
</tr>
</thead>
<tbody><tr>
<td>自带 <code>.srt</code> / <code>.vtt</code> 字幕</td>
<td>直接读取</td>
<td>优先使用</td>
</tr>
<tr>
<td>下载的视频但没有字幕</td>
<td>用 <code>yt-dlp</code> 字幕下载或 Whisper</td>
<td>先去时间码转纯文本</td>
</tr>
<tr>
<td>用户直接粘贴字幕</td>
<td>直接使用</td>
<td>清洗后可直接分析</td>
</tr>
</tbody></table>
<h3>学习模式</h3>
<h4>B1:知识提取(默认)</h4>
<p>输出结构化学习指南,包括:</p>
<ul>
<li>Key Concepts</li>
<li>Key Takeaways</li>
<li>Examples</li>
<li>Glossary</li>
</ul>
<h4>B2:章节摘要</h4>
<p>按主题切换拆章,每章总结 2-3 句。</p>
<p>主题切换信号:</p>
<ul>
<li>过渡语,例如 “Now let's talk about...”</li>
<li>大于 5 秒的长停顿</li>
<li>突然引入大量新术语</li>
</ul>
<h4>B3:关键词汇表</h4>
<p>提取领域术语、高频词、明确定义的概念和缩写。输出表格包含:</p>
<ul>
<li>术语</li>
<li>需要时的翻译</li>
<li>上下文解释</li>
<li>出现位置</li>
</ul>
<h3>字幕预处理</h3>
<p>原始字幕文件通常大部分都是元数据,先清理再分析。</p>
<pre>import re
def strip_srt(srt_text):
    lines = srt_text.split('n')
    result = []
    for line in lines:
        line = line.strip()
        if re.match(r'^d+$', line): continue
        if re.match(r'^d{2}:d{2}:d{2}', line): continue
        if not line: continue
        result.append(line)
    return ' '.join(result)
</pre>
<h3>常见陷阱</h3>
<ul>
<li><strong>字幕非常大</strong>:分块读取,单次最好不超过 1500 行</li>
<li><strong>ASR 误识别</strong>:标记为 <code>[possible transcription error]</code></li>
<li><strong>内容强依赖视觉</strong>:标记为 <code>[visual content here]</code></li>
<li><strong>多人对话</strong>:自动字幕可能会把说话人混在一起</li>
</ul>
<h2>模式 C:大型课程批量导入</h2>
<h3>六阶段流程</h3>
<table>
<thead>
<tr>
<th>Phase</th>
<th>目的</th>
<th>Token 策略</th>
</tr>
</thead>
<tbody><tr>
<td>1. 目录分析</td>
<td>建立 section 和 lesson 树</td>
<td>Token 很低</td>
</tr>
<tr>
<td>2. 字幕预处理</td>
<td>把字幕批量转成纯文本</td>
<td>终端脚本,零 token</td>
</tr>
<tr>
<td>3. 截图规划</td>
<td>预计算 slug 和 <code>ffmpeg</code> 命令</td>
<td>终端脚本,零 token</td>
</tr>
<tr>
<td>4. 批量截图</td>
<td>后台运行 <code>ffmpeg</code></td>
<td>终端脚本,零 token</td>
</tr>
<tr>
<td>5. 并行写文章</td>
<td>最多 3 个子代理并发处理 section</td>
<td>只传纯文本和 slug 表</td>
</tr>
<tr>
<td>6. 收尾</td>
<td>生成 <code>index.md</code> 和导入日志</td>
<td>Token 很低</td>
</tr>
</tbody></table>
<h3>Phase 1:目录分析</h3>
<p>遍历课程目录,建立如下结构:</p>
<pre>{Section: [video list]}
</pre>
<p>课程名和课时名要按数字前缀精确匹配。</p>
<h3>Phase 2:字幕预处理</h3>
<p>使用 <code>scripts/preprocess-srt.py</code>:</p>
<ol>
<li>修改课程配置</li>
<li>运行脚本</li>
<li>读取 <code>_preprocessed/section-<slug>.txt</code></li>
</ol>
<p>如果用户只想先评估课程结构或输出效果,先展示计划,不要立即批量写文件。</p>
<h3>Phase 3:截图规划</h3>
<p>使用 <code>scripts/plan-screenshots.py</code> 根据时长和内容类型决定截图点。</p>
<p>预期输出:</p>
<ul>
<li><code>_screenshot_plan.json</code></li>
<li><code>_batch_screenshots.sh</code></li>
</ul>
<h3>Phase 4:批量截图</h3>
<p><code>_batch_screenshots.sh</code> 属于生成脚本。执行前必须:</p>
<ol>
<li>预览脚本内容</li>
<li>确认输出目录仅落在预期课程或资源目录</li>
<li>获得用户对执行批处理命令的明确确认</li>
</ol>
<pre>bash _batch_screenshots.sh
</pre>
<p>顺序运行更稳。<code>ffmpeg</code> 比较吃 CPU,不建议并发抽帧;如果用户未确认,也不要默认后台启动。</p>
<h3>Phase 5:并行写文章</h3>
<p>子代理上下文写法会强烈影响 token 浪费情况,遵守这三条:</p>
<ol>
<li>明确说明截图已经准备好,不要重复验证</li>
<li>提供完整的 slug 到 label 映射,不让子代理自己算名字</li>
<li>明确列出哪些课不放截图</li>
</ol>
<p>示例上下文:</p>
<pre>context = """
用英文写课程笔记。

Input: _preprocessed/section-01.txt

All screenshots are already prepared. Do not verify files.
Reference them directly as:
  ![[../../../assets/<course>/<slug>-<label>.jpg]]

Slug table (each slug has overview/detail/result unless noted otherwise):
- Installation -> installation (3 images)
- Intro -> intro (no screenshots)

Density: Intro gets no screenshots. Other lessons get 3 screenshots each.

Output: sources/<course>/section-01-xxx.md
"""
</pre>
<p>并行分配建议:</p>
<ul>
<li>最多 3 个子代理</li>
<li>每个子代理最多 4 个 section</li>
</ul>
<h3>Phase 6:收尾</h3>
<ol>
<li>只允许主代理更新 <code>index.md</code></li>
<li>写导入日志</li>
<li>如用户明确要求,再提交到 Git</li>
</ol>
<p>这里涉及仓库文件修改,默认应先展示将要变更的文件范围,再执行实际写入。</p>
<h2>前置条件</h2>
<ul>
<li><code>yt-dlp</code>:下载视频</li>
<li><code>ffmpeg</code>:音频处理和截图</li>
<li><code>faster-whisper</code>:语音转录</li>
<li>一个最好由 Git 管理的 Obsidian Vault</li>
<li><code>git</code>:版本控制和同步</li>
</ul>
<p>环境检查:</p>
<pre>which yt-dlp ffmpeg 2>&1
python3 -c "from faster_whisper import WhisperModel; print('OK')" 2>&1
</pre>
<h2>路径约定</h2>
<table>
<thead>
<tr>
<th>变量</th>
<th>用途</th>
<th>示例</th>
</tr>
</thead>
<tbody><tr>
<td><code><TEMP_DIR></code></td>
<td>临时下载和处理目录</td>
<td>项目内临时目录</td>
</tr>
<tr>
<td><code><VAULT></code></td>
<td>Obsidian 库根目录</td>
<td><code>~/Documents/Obsidian</code></td>
</tr>
<tr>
<td><code><ATTACH_DIR></code></td>
<td>Vault 内截图目录</td>
<td><code><VAULT>/assets/video/<VIDEO_ID>/</code></td>
</tr>
<tr>
<td><code><NOTE_DIR></code></td>
<td>笔记输出目录</td>
<td><code><VAULT>/reference-notes/</code></td>
</tr>
</tbody></table>
<h2>排错</h2>
<table>
<thead>
<tr>
<th>问题</th>
<th>解决方式</th>
</tr>
</thead>
<tbody><tr>
<td>Bilibili <code>412</code> 反爬</td>
<td>刷新 Cookie 并重新登录</td>
</tr>
<tr>
<td>Bilibili 格式 ID 失效</td>
<td>先跑 <code>-F</code>,因为每个视频的 ID 可能不同</td>
</tr>
<tr>
<td>YouTube 下载失败</td>
<td>处理地区限制,或降级到 <code>-f "best[height<=720]"</code></td>
</tr>
<tr>
<td>Whisper 太慢</td>
<td>切到 <code>tiny</code>,或在 Apple Silicon 上用 <code>device="mps"</code></td>
</tr>
<tr>
<td>截图文件名导致链接混乱</td>
<td>使用英文 kebab-case</td>
</tr>
<tr>
<td>Git push 失败</td>
<td>先确认用户仍然希望推送,再试 <code>git pull --rebase && git push</code></td>
</tr>
<tr>
<td>子代理反复验证截图</td>
<td>硬编码 slug 表,并明确写 <code>do not verify files</code></td>
</tr>
</tbody></table>							</div>
						</div>
					</div>
					<div class="list-downs">
													<div class="authormore">
								<div class="rightdTitle flexRow">
									<div class="title-left flexRow">
										<b></b>
										<p>作者最新文章</p>
									</div>
								</div>
								<div class="authlist flexColumn">
																	<div class="autharts flexRow">
										<a class="autharta flexRow" href="/faq/3326466.html" title="JavaScript 中实现方法链式调用与无括号 getter 的统一接口"><b></b>
											<p class="overflowclass">JavaScript 中实现方法链式调用与无括号 getter 的统一接口</p>
										</a>
									</div>
																	<div class="autharts flexRow">
										<a class="autharta flexRow" href="/faq/3326470.html" title="Go 中指针接收器方法无法初始化外部 nil 指针的原因与解决方案"><b></b>
											<p class="overflowclass">Go 中指针接收器方法无法初始化外部 nil 指针的原因与解决方案</p>
										</a>
									</div>
																	<div class="autharts flexRow">
										<a class="autharta flexRow" href="/faq/3326490.html" title="PHP中安全实现数学表达式解析与计算(不使用eval)"><b></b>
											<p class="overflowclass">PHP中安全实现数学表达式解析与计算(不使用eval)</p>
										</a>
									</div>
																	<div class="autharts flexRow">
										<a class="autharta flexRow" href="/faq/3326492.html" title="如何使用 ArchUnit 限制非限定符类被 Qualifier 元注解标记"><b></b>
											<p class="overflowclass">如何使用 ArchUnit 限制非限定符类被 Qualifier 元注解标记</p>
										</a>
									</div>
																	<div class="autharts flexRow">
										<a class="autharta flexRow" href="/faq/3326497.html" title="Kafka 消息级 Offset 管理:精准提交、避免重复与丢失的工程实践"><b></b>
											<p class="overflowclass">Kafka 消息级 Offset 管理:精准提交、避免重复与丢失的工程实践</p>
										</a>
									</div>
																</div>
							</div>
													<div class="moreAi">
								<div class="rightdTitle flexRow">
									<div class="title-left flexRow">
										<b></b>
										<p>热门AI工具</p>
									</div>
									<a class="rititle-more flexRow" href="/ai" title="热门AI工具"><span>更多</span><b></b></a>
								</div>

								<div class="moreailist flexRow">
									<div class="aidcons flexRow">
																			<a href="/ai/3552" title="SkildArt" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/178599501648236.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="SkildArt" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">SkildArt</p>
											</div>
																							<span class="hot_span">Hot</span>
																					</a>
																			<a href="/ai/4297" title="PixTV" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/6abb4764b88b5788.webp?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="PixTV" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">PixTV</p>
											</div>
																							<span class="hot_span">Hot</span>
																					</a>
																			<a href="/ai/2363" title="墨刀AI" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/6a82db90becd6869.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="墨刀AI" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">墨刀AI</p>
											</div>
																							<span class="hot_span">Hot</span>
																					</a>
																			<a href="/ai/4061" title="讯飞智作" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/6a82d6a357266852.webp?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="讯飞智作" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">讯飞智作</p>
											</div>
																							<span class="hot_span">Hot</span>
																					</a>
																			<a href="/ai/3854" title="Atoms" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/000/969/633/6a82de5dacdf2198.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="Atoms" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">Atoms</p>
											</div>
																							<span class="hot_span">Hot</span>
																					</a>
																			<a href="/ai/2110" title="蛙蛙写作" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/68b6c9f8dba69666.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="蛙蛙写作" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">蛙蛙写作</p>
											</div>
																							<span class="hot_span">Hot</span>
																					</a>
																			<a href="/ai/726" title="豆包大模型" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/69b379b1c5e3f597.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="豆包大模型" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">豆包大模型</p>
											</div>
																					</a>
																			<a href="/ai/723" title="DeepSeek" class="aibtns flexColumn">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679963982777.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="DeepSeek" class="aibtnimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren.png'" />
											<div class="aibtn-right">
												<p class="overflowclass">DeepSeek</p>
											</div>
																					</a>
																		</div>
								</div>
							</div>
												<div class="xgzt artLists">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow">
									<b></b>
									<p>相关专题</p>
								</div>
								<a class="rititle-more flexRow" href="/faq/zt" title="相关专题"><span>更多</span><b></b></a>
							</div>
							<div class="swiper artztswiper">
								<div class="swiper-wrapper">
																	<div class="swiper-slide flexcolumn">
																					<div class="clDiv flexRow">
												<a href="/faq/gradlecjkfrmj" class="aClass flexRow cldA" title="Gradle插件开发入门教程"><img src="https://img.php.cn/upload/subject/000/000/085/6ad9dfa21e58e391.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Gradle插件开发入门教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/gradlecjkfrmj" class="clddTitle overflowclass" title="Gradle插件开发入门教程">Gradle插件开发入门教程</a>
													<p class="clddp overflowclass">本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>11</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																					<div class="clDiv flexRow">
												<a href="/faq/gradlewppzjc" class="aClass flexRow cldA" title="Gradle Wrapper配置教程"><img src="https://img.php.cn/upload/subject/000/000/085/6ad9de17d41f0542.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Gradle Wrapper配置教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/gradlewppzjc" class="clddTitle overflowclass" title="Gradle Wrapper配置教程">Gradle Wrapper配置教程</a>
													<p class="clddp overflowclass">本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>10</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																					<div class="clDiv flexRow">
												<a href="/faq/golangcijcq" class="aClass flexRow cldA" title="Golangci-lint检查器使用教程"><img src="https://img.php.cn/upload/subject/000/000/098/6ad9dd901b330239.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Golangci-lint检查器使用教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/golangcijcq" class="clddTitle overflowclass" title="Golangci-lint检查器使用教程">Golangci-lint检查器使用教程</a>
													<p class="clddp overflowclass">本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>15</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																			</div>
																	<div class="swiper-slide flexcolumn">
																					<div class="clDiv flexRow">
												<a href="/faq/gradlezmgjjxm" class="aClass flexRow cldA" title="Gradle怎么构建Java项目"><img src="https://img.php.cn/upload/subject/000/000/085/6ad9dcbf0b972752.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Gradle怎么构建Java项目" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/gradlezmgjjxm" class="clddTitle overflowclass" title="Gradle怎么构建Java项目">Gradle怎么构建Java项目</a>
													<p class="clddp overflowclass">本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>10</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																					<div class="clDiv flexRow">
												<a href="/faq/phpsjcldxfjc" class="aClass flexRow cldA" title="PHP时间戳漏洞修复教程"><img src="https://img.php.cn/upload/subject/000/000/086/6ad9d7719ac88655.webp?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP时间戳漏洞修复教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/phpsjcldxfjc" class="clddTitle overflowclass" title="PHP时间戳漏洞修复教程">PHP时间戳漏洞修复教程</a>
													<p class="clddp overflowclass">本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>25</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																					<div class="clDiv flexRow">
												<a href="/faq/golangcipzwj" class="aClass flexRow cldA" title="Golangci-lint配置文件与规则设置"><img src="https://img.php.cn/upload/subject/000/000/098/6ad9d3140c27e800.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Golangci-lint配置文件与规则设置" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/golangcipzwj" class="clddTitle overflowclass" title="Golangci-lint配置文件与规则设置">Golangci-lint配置文件与规则设置</a>
													<p class="clddp overflowclass">本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>15</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																			</div>
																	<div class="swiper-slide flexcolumn">
																					<div class="clDiv flexRow">
												<a href="/faq/golangciazyrm" class="aClass flexRow cldA" title="Golangci-lint安装与入门教程"><img src="https://img.php.cn/upload/subject/000/000/098/6ad9cdeb68654566.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Golangci-lint安装与入门教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/golangciazyrm" class="clddTitle overflowclass" title="Golangci-lint安装与入门教程">Golangci-lint安装与入门教程</a>
													<p class="clddp overflowclass">本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>15</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																					<div class="clDiv flexRow">
												<a href="/faq/php2shellloud" class="aClass flexRow cldA" title="PHP2Shell高危漏洞修复教程"><img src="https://img.php.cn/upload/subject/000/000/086/6ad9cc3436ea9984.webp?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP2Shell高危漏洞修复教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/php2shellloud" class="clddTitle overflowclass" title="PHP2Shell高危漏洞修复教程">PHP2Shell高危漏洞修复教程</a>
													<p class="clddp overflowclass">PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>12</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																					<div class="clDiv flexRow">
												<a href="/faq/jyrwsdygxgl" class="aClass flexRow cldA" title="剧云人物设定与关系管理教程"><img src="https://img.php.cn/upload/subject/000/000/098/6ad9c3d4be63c634.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="剧云人物设定与关系管理教程" class="cldaimg" onerror="this.src='https://staticm.php.cn/static/mobimages/moren/moren.png'" /></a>
												<div class="clddiv flexColumn">
													<a href="/faq/jyrwsdygxgl" class="clddTitle overflowclass" title="剧云人物设定与关系管理教程">剧云人物设定与关系管理教程</a>
													<p class="clddp overflowclass">本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。</p>
													<div class="clddDown flexRow">
														<div class="clddDown-left flexRow">
															<div class="clddTime">
																<b></b>
																<p>2026.10.22</p>
															</div>
															<div class="cldddh">
																<b></b>
																<p>0</p>
															</div>
															<div class="cldddht">
																<b></b>
																<p>16</p>
															</div>
														</div>
													</div>
												</div>
											</div>
																			</div>
																</div>
							</div>
							<div class="swiper-pagination coursesswiper-pagination"></div>
							<script>
								var mySwiper = new Swiper(".artztswiper", {
									autoplay: false,
									pagination: {
										el: ".coursesswiper-pagination",
										clickable: true,
									},
								});
							</script>
						</div>

						<div class="hotdownload ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>热门下载</p>
								</div>
								<a class="rititle-more flexRow" href="/xiazai" title="热门下载"><span>更多</span><b></b></a>
							</div>
							<div class="hotdownTab">
								<div class="hdTabs flexRow">
									<div class="check" data-id="onef">网站特效 <b></b> </div> /
									<div class="" data-id="twof">网站源码 <b></b></div> /
									<div class="" data-id="threef">网站素材 <b></b></div> /
									<div class="" data-id="fourf">前端模板 <b></b></div>
								</div>
								<ul class="onef">
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="登录表单页面js,现代化登录页面模板" href="/xiazai/js/10373"><span>[表单按钮]</span><span>登录表单页面js,现代化登录页面模板</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="注册表单布局HTML代码,登录注册切换js模板" href="/xiazai/js/10372"><span>[表单按钮]</span><span>注册表单布局HTML代码,登录注册切换js模板</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="文字透视变形设计,有趣的css滑动动画" href="/xiazai/js/10371"><span>[文字特效]</span><span>文字透视变形设计,有趣的css滑动动画</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="精美登录注册UI,登录页面设计模板" href="/xiazai/js/10370"><span>[表单按钮]</span><span>精美登录注册UI,登录页面设计模板</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="意境背景图片唯美下载,云破月来花弄影素材" href="/xiazai/js/10369"><span>[图片特效]</span><span>意境背景图片唯美下载,云破月来花弄影素材</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="液体背景制作,创意液体文字动画" href="/xiazai/js/10368"><span>[其它特效]</span><span>液体背景制作,创意液体文字动画</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="html滑块选择器,简单的滑块控制数字表达式" href="/xiazai/js/10367"><span>[其它特效]</span><span>html滑块选择器,简单的滑块控制数字表达式</span></a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a title="文本闪烁css,文字闪光动图特效" href="/xiazai/js/10366"><span>[其它特效]</span><span>文本闪烁css,文字闪光动图特效</span></a>
											</div>
										</li>
																	</ul>
								<ul class="twof" style="display:none;">
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12061" title="CodeIgniter4.6.1"><span>[开发框架]</span><span>CodeIgniter4.6.1</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12060" title="Django Web框架5.2.2"><span>[开发框架]</span><span>Django Web框架5.2.2</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12059" title="NutzFw企业级快速开发框架1.0.3"><span>[开发框架]</span><span>NutzFw企业级快速开发框架1.0.3</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12058" title="go-admin前后端分离权限管理系统脚手架2.2.0"><span>[开发框架]</span><span>go-admin前后端分离权限管理系统脚手架2.2.0</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12057" title="Ember.js3.28.9"><span>[开发框架]</span><span>Ember.js3.28.9</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12056" title="MaxKey单点登录认证系统3.3.3"><span>[开发框架]</span><span>MaxKey单点登录认证系统3.3.3</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12055" title="PHP7框架Phalcon71.2.3"><span>[开发框架]</span><span>PHP7框架Phalcon71.2.3</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12054" title="TimoPHP开发框架1.4.1"><span>[开发框架]</span><span>TimoPHP开发框架1.4.1</span> </a>
											</div>
										</li>
																	</ul>
								<ul class="threef" style="display:none;">
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4925" title="复古旧物服饰海报矢量模板"><span>[网站素材]</span><span>复古旧物服饰海报矢量模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4924" title="2027年新年快乐宣传海报设计下载"><span>[网站素材]</span><span>2027年新年快乐宣传海报设计下载</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4923" title="二十四节气立冬海报矢量模板"><span>[网站素材]</span><span>二十四节气立冬海报矢量模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4922" title="爵士酒吧派对海报矢量模板"><span>[网站素材]</span><span>爵士酒吧派对海报矢量模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4921" title="万圣节主题横幅海报模板设计源文件下载"><span>[网站素材]</span><span>万圣节主题横幅海报模板设计源文件下载</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4920" title="精致咖啡下午茶元素合集矢量素材"><span>[网站素材]</span><span>精致咖啡下午茶元素合集矢量素材</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4919" title="蓝色风格汉堡美食餐饮海报模板设计下载"><span>[网站素材]</span><span>蓝色风格汉堡美食餐饮海报模板设计下载</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/sucai/4918" title="扁平万圣节主题矢量插图"><span>[网站素材]</span><span>扁平万圣节主题矢量插图</span> </a>
											</div>
										</li>
																	</ul>
								<ul class="fourf" style="display:none;">
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12112"  title="探索文化产业服务机构网站模板"><span>[前端模板]</span><span>探索文化产业服务机构网站模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12111"  title="现代商业数字化服务公司网站模板"><span>[前端模板]</span><span>现代商业数字化服务公司网站模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12110"  title="响应式烟草公司HTML5网站模板"><span>[前端模板]</span><span>响应式烟草公司HTML5网站模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12109"  title="园艺服务机构响应式网页模板"><span>[前端模板]</span><span>园艺服务机构响应式网页模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12108"  title="HTML5日本动画动漫网站模板"><span>[前端模板]</span><span>HTML5日本动画动漫网站模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12107"  title="蛋糕烘焙美食宣传网站模板"><span>[前端模板]</span><span>蛋糕烘焙美食宣传网站模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12106"  title="黑白风格律师个人简历展示网页模板"><span>[前端模板]</span><span>黑白风格律师个人简历展示网页模板</span> </a>
											</div>
										</li>
																			<li>
											<div class="wzrfourli flexRow">
												<b></b>
												<a href="/xiazai/code/12105"  title="黑色风格摄影工作室宣传网站模板"><span>[前端模板]</span><span>黑色风格摄影工作室宣传网站模板</span> </a>
											</div>
										</li>
																	</ul>
							</div>
							<script>
								$('.hdTabs>div').click(function (e) {
									$('.hdTabs>div').removeClass('check')
									$(this).addClass('check')
									$('.hotdownTab>ul').css('display', 'none')
									$('.' + e.currentTarget.dataset.id).show()
								})
							</script>

						</div>

						<div class="xgarts ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>相关下载</p>
								</div>
								<a class="rititle-more flexRow" href="/xiazai" title=""><span>更多</span><b></b></a>
							</div>
							<div class="xgwzlist ">
															<div class="xgwzlid flexRow"><b></b><a title="MDPHP(麦迪php框架系统)1.1" href="/xiazai/code/12051">MDPHP(麦迪php框架系统)1.1</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="PHP 多国语言框架2.0" href="/xiazai/code/12046">PHP 多国语言框架2.0</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="ujframe简单快速PHP开发框架1.0" href="/xiazai/code/12045">ujframe简单快速PHP开发框架1.0</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="php轻量型框架1.0" href="/xiazai/code/12044">php轻量型框架1.0</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="MyQEE开源PHP多项目及模块化开发框架3.0 RC2" href="/xiazai/code/12041">MyQEE开源PHP多项目及模块化开发框架3.0 RC2</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="php开源学习型框架CMVC1.2.0" href="/xiazai/code/12040">php开源学习型框架CMVC1.2.0</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="PHP框架Kohana3.3.1" href="/xiazai/code/12039">PHP框架Kohana3.3.1</a></div>
														</div>

						</div>

						<div class="jpkc">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>精品课程</p>
								</div>
								<a class="rititle-more flexRow" href="/course/sort_new.html"  title="精品课程"><span>更多</span><b></b></a>
							</div>
							<div class=" jpkcTab">
								<div class=" jpkcTabs flexRow">
																		<div class="check" data-id="twofd">热门推荐 <b></b></div> /
									<div class="" data-id="threefd">最新课程 <b></b></div>
								</div>
																<div class="twofd jpktabd" >
																			<div  class="ristyA flexRow " >
											<a href="/course/639.html" title="phpStudy极速入门视频教程">
												<img src="https://img.php.cn/upload/course/000/000/068/62611ef88fcec821.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="phpStudy极速入门视频教程" class="ristyAimg"
													onerror="this.src='https://staticm.php.cn/static/mobimages/moren/morentu.png'">
											</a>
											<div class="ristyaRight flexColumn">
												<a href="/course/639.html" title="phpStudy极速入门视频教程"
													class="rirightp overflowclass">phpStudy极速入门视频教程</a>

												<div class="risrdown flexRow">
													<p>共6课时 | 54.7万人学习</p>
												</div>
											</div>
										</div>
																			<div  class="ristyA flexRow " >
											<a href="/course/379.html" title="独孤九贱(4)_PHP视频教程">
												<img src="https://img.php.cn/upload/course/000/000/001/5d1c6dfc9eb09885.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="独孤九贱(4)_PHP视频教程" class="ristyAimg"
													onerror="this.src='https://staticm.php.cn/static/mobimages/moren/morentu.png'">
											</a>
											<div class="ristyaRight flexColumn">
												<a href="/course/379.html" title="独孤九贱(4)_PHP视频教程"
													class="rirightp overflowclass">独孤九贱(4)_PHP视频教程</a>

												<div class="risrdown flexRow">
													<p>共89课时 | 133.9万人学习</p>
												</div>
											</div>
										</div>
																			<div  class="ristyA flexRow " >
											<a href="/course/801.html" title="PHP实战天龙八部之仿爱奇艺电影网站">
												<img src="https://img.php.cn/upload/course/000/000/001/5d2426f409839992.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP实战天龙八部之仿爱奇艺电影网站" class="ristyAimg"
													onerror="this.src='https://staticm.php.cn/static/mobimages/moren/morentu.png'">
											</a>
											<div class="ristyaRight flexColumn">
												<a href="/course/801.html" title="PHP实战天龙八部之仿爱奇艺电影网站"
													class="rirightp overflowclass">PHP实战天龙八部之仿爱奇艺电影网站</a>

												<div class="risrdown flexRow">
													<p>共49课时 | 82.5万人学习</p>
												</div>
											</div>
										</div>
																	</div>

								<div class="threefd jpktabd" style="display:none;">
																	<div  class="ristyA flexRow " >
											<a href="/course/1558.html" title="RunnerGo从入门到精通">
												<img src="https://img.php.cn/upload/course/000/000/067/6461bf1a464c1119.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="RunnerGo从入门到精通" class="ristyAimg"
													onerror="this.src='https://staticm.php.cn/static/mobimages/moren/morentu.png'">
											</a>
											<div class="ristyaRight flexColumn">
												<a href="/course/1558.html" title="RunnerGo从入门到精通"
													class="rirightp overflowclass">RunnerGo从入门到精通</a>

												<div class="risrdown flexRow">
													<p>共22课时 | 2.5万人学习</p>
												</div>
											</div>
										</div>
																		<div  class="ristyA flexRow " >
											<a href="/course/1514.html" title="Apipost从入门到精通">
												<img src="https://img.php.cn/upload/course/000/000/068/63db62f3d0b65880.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="Apipost从入门到精通" class="ristyAimg"
													onerror="this.src='https://staticm.php.cn/static/mobimages/moren/morentu.png'">
											</a>
											<div class="ristyaRight flexColumn">
												<a href="/course/1514.html" title="Apipost从入门到精通"
													class="rirightp overflowclass">Apipost从入门到精通</a>

												<div class="risrdown flexRow">
													<p>共31课时 | 3.5万人学习</p>
												</div>
											</div>
										</div>
																		<div  class="ristyA flexRow " >
											<a href="/course/1511.html" title="WordPress零基础新手搭建个人博客及企业网站">
												<img src="https://img.php.cn/upload/course/000/000/068/63c4f5a167a4b379.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="WordPress零基础新手搭建个人博客及企业网站" class="ristyAimg"
													onerror="this.src='https://staticm.php.cn/static/mobimages/moren/morentu.png'">
											</a>
											<div class="ristyaRight flexColumn">
												<a href="/course/1511.html" title="WordPress零基础新手搭建个人博客及企业网站"
													class="rirightp overflowclass">WordPress零基础新手搭建个人博客及企业网站</a>

												<div class="risrdown flexRow">
													<p>共28课时 | 4.5万人学习</p>
												</div>
											</div>
										</div>
																	</div>
								<script>
									$('.jpkcTabs>div').click(function (e) {
										$('.jpkcTabs>div').removeClass('check')
										$(this).addClass('check')
										$('.jpkcTab .jpktabd').css('display', 'none')
										$('.' + e.currentTarget.dataset.id).show()
									})
								</script>

							</div>
						</div>

						<div class="zxarts ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>最新文章</p>
								</div>
								<a class="rititle-more flexRow" href="" title="最新文章"><span>更多</span><b></b></a>
							</div>
							<div class="xgwzlist ">
															<div class="xgwzlid flexRow"><b></b><a title="updream项目一直加载不出来怎么办" href="">updream项目一直加载不出来怎么办</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="PixTV文生视频怎么描述跟拍镜头" href="">PixTV文生视频怎么描述跟拍镜头</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="剧云AI Word导入后中文出现乱码怎么办" href="">剧云AI Word导入后中文出现乱码怎么办</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="腾讯问卷个人模板怎么生成二维码?模板推广与分享方法" href="">腾讯问卷个人模板怎么生成二维码?模板推广与分享方法</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="腾讯问卷个人模板怎么设置答题限制?防重复填写教程" href="">腾讯问卷个人模板怎么设置答题限制?防重复填写教程</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="Seko AI换了生成模型后画风变了怎么办_Seko AI跨模型风格偏差调整" href="">Seko AI换了生成模型后画风变了怎么办_Seko AI跨模型风格偏差调整</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="AniShort怎么调用剧本创作相关Skill" href="">AniShort怎么调用剧本创作相关Skill</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="火山引擎重复提交请求导致生成多次怎么办_火山引擎客户端重复请求排查" href="">火山引擎重复提交请求导致生成多次怎么办_火山引擎客户端重复请求排查</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="VibeKnow怎么把在线帮助文章做成操作教程视频" href="">VibeKnow怎么把在线帮助文章做成操作教程视频</a></div>
															<div class="xgwzlid flexRow"><b></b><a title="Seko AI怎么记录每集结束时人物知道哪些信息_Seko AI跨集人物认知状态整理" href="">Seko AI怎么记录每集结束时人物知道哪些信息_Seko AI跨集人物认知状态整理</a></div>
														</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<!--主体 end-->
		
<script>isLogin = "0";</script>
<script src="https://staticm.php.cn/static/js/cdn.js?v=1.0.1"></script>

<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?3fc525002bf1c4f1d536daef98e9a33c";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>


		<script type="text/javascript" src="https://staticm.php.cn/static/js/global.js?v=1.3"></script>

	</div>
</body>

</html>