0

0

Python requests_html 爬取多语言网站内容与翻译策略

花韻仙語

花韻仙語

发布时间:2025-11-22 14:15:11

|

501人浏览过

|

来源于php中文网

原创

Python requests_html 爬取多语言网站内容与翻译策略

本教程探讨使用 `requests_html` 爬取多语言网站时,`accept-language` 请求头可能存在的局限性。当服务器未按预期返回指定语言内容时,我们引入 `googletrans` 库作为有效的后处理解决方案。文章将详细指导如何安装 `googletrans`,并结合 `requests_html` 抓取到的文本进行实时翻译,确保获取目标语言数据。

在进行网页内容爬取时,我们经常会遇到需要获取特定语言版本内容的需求。尽管 HTTP 协议提供了 Accept-Language 请求头来告知服务器客户端的语言偏好,但在实际操作中,这一机制并非总是奏效。本教程将深入探讨 Accept-Language 的工作原理及其局限性,并提供一个实用的解决方案:利用 googletrans 库对爬取到的文本进行后处理翻译。

Accept-Language 请求头的工作原理与局限性

Accept-Language 是一个 HTTP 请求头,客户端(如浏览器爬虫)通过它向服务器声明其偏好的语言列表,并可以指定优先级。例如,Accept-Language: en,zh-CN;q=0.9,zh;q=0.8 表示客户端首选英语,其次是简体中文,然后是任何中文。服务器在接收到此请求头后,会尝试返回与其内容管理系统中最匹配的语言版本。

然而,Accept-Language 并非强制性指令,其局限性主要体现在以下几点:

  1. 服务器支持度: 网站服务器可能不提供请求语言版本的内容。
  2. 服务器实现: 即使提供了多语言内容,服务器也可能选择忽略 Accept-Language 头,或者其内容协商机制未按预期工作。
  3. 动态内容: 对于某些动态生成或通过 JavaScript 加载的内容,Accept-Language 可能无法直接影响其显示语言。
  4. 内容默认语言: 许多网站有默认语言,即使设置了 Accept-Language,也可能优先返回默认语言内容。

因此,当我们在使用 requests_html 这样的库进行爬取时,即使在请求头中设置了 {"Accept-Language": "en"},也可能仍然获取到服务器的默认语言(例如阿拉伯语),而非期望的英语内容。在这种情况下,我们需要采取额外的步骤来确保获取到目标语言的数据。

立即学习Python免费学习笔记(深入)”;

解决方案:利用 googletrans 库进行文本翻译

当通过 Accept-Language 无法直接获取到目标语言内容时,最可靠的方法是对已经爬取到的文本进行翻译。googletrans 是一个流行的 Python 库,它提供了一个非官方的 Google Translate API 接口,可以方便地实现文本翻译功能。

安装 googletrans 库

在开始使用 googletrans 之前,需要先通过 pip 安装它。请注意,googletrans 的最新版本可能处于预发布阶段,或者在不同环境下表现不一,因此可能需要尝试不同的版本。

推荐安装最新预发布版本:

pip install googletrans==4.0.0-rc1

如果 4.0.0-rc1 版本出现问题,可以尝试安装较稳定的 3.0.0 版本:

ImgGood
ImgGood

免费在线AI照片编辑器

下载
pip uninstall googletrans==4.0.0-rc1 # 如果已安装 rc1,先卸载
pip install googletrans==3.0.0

选择适合您环境的版本进行安装。

集成与使用示例

下面我们将展示如何将 googletrans 与 requests_html 结合使用,以爬取网页标题并将其翻译成英文。

首先,定义一个辅助函数来处理文本翻译:

from googletrans import Translator

def translate_text(text, dest_lang='en', src_lang='auto'):
    """
    使用 Google Translate 翻译文本。
    :param text: 要翻译的文本。
    :param dest_lang: 目标语言代码(默认为 'en')。
    :param src_lang: 源语言代码(默认为 'auto',自动检测)。
    :return: 翻译后的文本,如果翻译失败则返回原始文本。
    """
    try:
        translator = Translator()
        translated = translator.translate(text, dest=dest_lang, src=src_lang)
        return translated.text
    except Exception as e:
        print(f"翻译失败: {e}")
        return text # 翻译失败时返回原始文本,避免程序中断

接下来,将其集成到 requests_html 的爬取流程中:

from requests_html import HTMLSession
from googletrans import Translator
import requests # 导入 requests 库以保持与原始问题的兼容性,但更推荐使用 session.get

# 辅助翻译函数(如上所示)
def translate_text(text, dest_lang='en', src_lang='auto'):
    try:
        translator = Translator()
        translated = translator.translate(text, dest=dest_lang, src=src_lang)
        return translated.text
    except Exception as e:
        print(f"翻译失败: {e}")
        return text

def scrape_and_translate(url):
    # 尝试设置 Accept-Language,但认识到其局限性
    headers = {"Accept-Language": "en"}

    session = HTMLSession()

    # 使用 requests_html 的 session.get 方法,它返回的 response 对象具有 .html 属性
    try:
        response = session.get(url, headers=headers)
        response.raise_for_status() # 检查请求是否成功

        # 尝试查找网页的  元素
        title_element = response.html.find('title', first=True)
        original_title_text = title_element.text if title_element else '标题未找到'

        print(f"原始标题: {original_title_text}")

        # 如果标题存在,则进行翻译
        if original_title_text != '标题未找到':
            translated_title = translate_text(original_title_text, dest_lang='en')
            print(f"翻译后的标题: {translated_title}")
        else:
            print("未找到可翻译的标题。")

        # 示例:如果您需要查找其他元素并翻译,可以类似操作
        # 例如,查找一个商品名称的div(假设其class为'product-name')
        # product_name_element = response.html.find('div.product-name', first=True)
        # if product_name_element:
        #     product_name_text = product_name_element.text
        #     translated_product_name = translate_text(product_name_text, dest_lang='en')
        #     print(f"原始商品名称: {product_name_text}")
        #     print(f"翻译后的商品名称: {translated_product_name}")

    except requests.exceptions.RequestException as e:
        print(f"请求失败: {e}")
    except Exception as e:
        print(f"发生未知错误: {e}")


if __name__ == "__main__":
    target_url = 'https://pcpalace.com.sa/products/ASUS-Vivobook-GO-E1504GA'
    scrape_and_translate(target_url)</pre><p>在这个示例中:</p>
<ol>
<li>我们首先定义了一个 translate_text 函数来封装 googletrans 的翻译逻辑,并加入了错误处理。</li>
<li>使用 HTMLSession().get(url, headers=headers) 来发起请求,这样返回的 response 对象就包含了 .html 属性,可以直接使用 response.html.find() 方法来定位元素。</li>
<li>通过 response.html.find('title', first=True) 找到 title 元素,并提取其文本。</li>
<li>调用 translate_text 函数将提取到的原始标题翻译成英文,并打印原始和翻译后的结果。</li>
</ol>
<h3>注意事项与最佳实践</h3>
<p>在使用 googletrans 进行文本翻译时,需要注意以下几点以确保代码的健壮性和效率:</p>
<ol>
<li>
<strong>googletrans 版本选择</strong>: googletrans 是一个非官方库,其 API 可能会随 Google Translate 服务的变化而更新。因此,某个版本可能在一段时间后失效。如果遇到翻译失败或错误,尝试切换到其他版本(如 4.0.0-rc1 或 3.0.0)通常能解决问题。</li>
<li>
<strong>错误处理</strong>: 翻译过程中可能会遇到网络问题、API 限制或服务不稳定等情况。在 translate_text 函数中加入 try-except 块至关重要,它可以捕获异常并优雅地处理,例如返回原始文本而不是让程序崩溃。</li>
<li>
<strong>速率限制</strong>: googletrans 通过模拟浏览器行为来访问 Google Translate 服务,因此可能会受到速率限制。对于大规模的翻译任务,频繁的请求可能会导致 IP 被临时封禁或返回错误。在这种情况下,考虑增加请求之间的延迟(time.sleep())或使用代理 IP 池。</li>
<li>
<strong>性能考量</strong>: 文本翻译是一个计算密集型和网络密集型的操作。如果需要翻译大量文本,这会显著增加爬虫的运行时间和资源消耗。对于性能要求极高的场景,可能需要考虑使用 Google Cloud Translation API 等官方付费服务,它们提供更稳定、高效且具有更高配额的翻译能力。</li>
<li>
<strong>源语言指定</strong>: 尽管 googletrans 能够自动检测源语言 (src_lang='auto'),但在某些情况下,明确指定源语言(例如 src_lang='ar')可以提高翻译的准确性和效率,特别是当文本内容较短或语言混合时。</li>
</ol>
<h3>总结</h3>
<p>Accept-Language 请求头在多语言网站爬取中提供了初步的语言偏好设置,但其效果受限于服务器的实现和支持。当仅依赖 Accept-Language 无法满足需求时,利用 googletrans 这样的第三方库对爬取到的文本进行后处理翻译,提供了一个强大而灵活的解决方案。通过本文介绍的方法,您可以有效地获取并处理多语言网站的内容,确保数据符合您的语言需求。在实际应用中,请务必注意库的版本兼容性、错误处理以及潜在的速率限制问题。</p>					</div>
					<div class="artmoreart ">
													<div class="artdp artptit"><span></span>
								<p>相关文章</p>
							</div>
							<div class="artmores flexColumn">
																	<a class="artmrlis flexRow" href="/faq/1831521.html" title="在Qt QML应用中利用Python字典动态更新TextEdit控件内容"><b></b>
										<p class="overflowclass">在Qt QML应用中利用Python字典动态更新TextEdit控件内容</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1830402.html" title="利用AJAX将JavaScript游戏分数集成至Django模型:一份实践指南"><b></b>
										<p class="overflowclass">利用AJAX将JavaScript游戏分数集成至Django模型:一份实践指南</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1830007.html" title="从HTML页面直接运行Python脚本:原理、限制与替代方案"><b></b>
										<p class="overflowclass">从HTML页面直接运行Python脚本:原理、限制与替代方案</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1829556.html" title="从HTML页面安全有效地触发Python脚本:原理、限制与替代方案"><b></b>
										<p class="overflowclass">从HTML页面安全有效地触发Python脚本:原理、限制与替代方案</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/1829530.html" title="Python Requests处理JavaScript动态加载内容的策略"><b></b>
										<p class="overflowclass">Python Requests处理JavaScript动态加载内容的策略</p>
									</a>
															</div>
													<div class="artmoretabs flexRow">
								<p>相关标签:</p>
								<div class="mtbs flexRow">
									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15724.html" target="_blank">javascript</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15730.html" target="_blank">python</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15731.html" target="_blank">java</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15763.html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15863.html" target="_blank">go</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16180.html" target="_blank">浏览器</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/17098.html" target="_blank">session</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/17539.html" target="_blank">ai</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/19377.html" target="_blank">爬虫</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/20151.html" target="_blank">多语言</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/20681.html" target="_blank">google</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=Python" target="_blank">Python</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=JavaScript" target="_blank">JavaScript</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=pip" target="_blank">pip</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=封装" target="_blank">封装</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=try" target="_blank">try</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=auto" target="_blank">auto</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=接口" target="_blank">接口</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=对象" target="_blank">对象</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=http" target="_blank">http</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=ar" target="_blank">ar</a>								</div>
							</div>
						
						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
						<div class="lastanext flexRow">
													<a class="lastart flexRow" href="/faq/1762012.html" title="BeautifulSoup:高效查找文本内容分散的HTML元素"><span>上一篇:</span>BeautifulSoup:高效查找文本内容分散的HTML元素</a>
													<a class="nextart flexRow" href="/faq/1762043.html" title="Pandas分组滚动均值计算:解决索引不兼容问题"><span>下一篇:</span>Pandas分组滚动均值计算:解决索引不兼容问题</a>
												</div>
					</div>

					<div class="artlef-down ">
													<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/1978322.html" title="标题:为什么显式指定客户端本地端口会导致 TCP 连接挂起 30 秒?"><b></b>
												<p class="overflowclass">标题:为什么显式指定客户端本地端口会导致 TCP 连接挂起 30 秒?</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 12:44</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978336.html" title="iPhone 18 Pro已打样:灵动岛变小了 史上首次"><b></b>
												<p class="overflowclass">iPhone 18 Pro已打样:灵动岛变小了 史上首次</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 12:47</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978420.html" title="动态禁用下拉菜单中与输入框内容匹配的选项(jQuery 实现)"><b></b>
												<p class="overflowclass">动态禁用下拉菜单中与输入框内容匹配的选项(jQuery 实现)</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:02</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978426.html" title="Go语言中 io/ioutil.NopCloser 的作用与使用详解"><b></b>
												<p class="overflowclass">Go语言中 io/ioutil.NopCloser 的作用与使用详解</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:03</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978452.html" title="Go 中的上下文感知变量:HTML 模板安全渲染的核心机制"><b></b>
												<p class="overflowclass">Go 中的上下文感知变量:HTML 模板安全渲染的核心机制</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:07</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978457.html" title="TCP客户端指定本地端口后出现30秒延迟的原因及解决方案"><b></b>
												<p class="overflowclass">TCP客户端指定本地端口后出现30秒延迟的原因及解决方案</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:08</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978475.html" title="任天堂2025年度回顾上线 可追溯至2017年NS首发记录"><b></b>
												<p class="overflowclass">任天堂2025年度回顾上线 可追溯至2017年NS首发记录</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:12</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978486.html" title="Go语言中 io/ioutil.NopCloser 的作用与实用场景详解"><b></b>
												<p class="overflowclass">Go语言中 io/ioutil.NopCloser 的作用与实用场景详解</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:13</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978539.html" title="如何使用 CSS Grid 实现 Flex 包裹后子项自适应高度分配"><b></b>
												<p class="overflowclass">如何使用 CSS Grid 实现 Flex 包裹后子项自适应高度分配</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:21</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/1978553.html" title="影视大全怎么查看法律条款?-影视大全查看法律条款的方法"><b></b>
												<p class="overflowclass">影视大全怎么查看法律条款?-影视大全查看法律条款的方法</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-14 13:23</p>
											</div>
										</div>
								</div>
															</div>
						
						<div class="moreAi ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>热门AI工具</p>
								</div>
								<a target="_blank" class="rititle-more flexRow" href="/ai" title="热门AI工具"><span>更多</span><b></b></a>
							</div>

							<div class="moreailist flexRow">
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtns flexRow">
											<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='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">DeepSeek</p>
												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/code/open-plat" title="开放平台" class="aidcontbp flexRow flexcenter">开放平台</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680204067325.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="豆包大模型" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">豆包大模型</p>
												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/725" title="通义千问" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974228210.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="通义千问" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">通义千问</p>
												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679978251103.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="腾讯元宝" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">腾讯元宝</p>
												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/office/docs" title="文档处理" class="aidcontbp flexRow flexcenter">文档处理</p>
																													<p href="/ai/tag/office/excel" title="Excel 表格" class="aidcontbp flexRow flexcenter">Excel 表格</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/724" title="文心一言" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974557049.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="文心一言" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">文心一言</p>
												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/969/633/68b7a4153cd86671.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="讯飞写作" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">讯飞写作</p>
												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																													<p href="/ai/tag/text/write" title="写作工具" class="aidcontbp flexRow flexcenter">写作工具</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d8f7c530c315.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="即梦AI" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">即梦AI</p>
												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/image/image-titching" title="图片拼接" class="aidcontbp flexRow flexcenter">图片拼接</p>
																													<p href="/ai/tag/image/image-create" title="图画生成" class="aidcontbp flexRow flexcenter">图画生成</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679970194596.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="ChatGPT" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">ChatGPT</p>
												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679976181507.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="智谱清言 - 免费全能的AI助手" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">智谱清言 - 免费全能的AI助手</p>
												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/office/pdf" title="PDF 文档" class="aidcontbp flexRow flexcenter">PDF 文档</p>
																											</div>
																							</div>
										</a>
									</div>
															</div>




						</div>

					</div>


				</div>


			</div>
			<div class="conRight artdtilRight ">
				<div class="artrig-adv ">
                    <script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>
				<div class="hotzt artdtzt">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关专题</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/faq/zt" title="相关专题"><span>更多</span><b></b></a>
					</div>
					<div class="hotztuls flexColumn">
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythonkfgj" class="aClass flexRow hotzta" title="python开发工具"><img
										src="https://img.php.cn/upload/subject/202306/15/2023061514475366600.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python开发工具" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythonkfgj" class="aClass flexRow hotztra overflowclass" title="python开发工具">python开发工具</a>
									<p class="aClass flexRow hotztrp overflowclass">php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">754</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.06.15</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythondb" class="aClass flexRow hotzta" title="python打包成可执行文件"><img
										src="https://img.php.cn/upload/subject/202307/20/2023072010451926796.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python打包成可执行文件" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythondb" class="aClass flexRow hotztra overflowclass" title="python打包成可执行文件">python打包成可执行文件</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">636</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.07.20</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythonnzsm" class="aClass flexRow hotzta" title="python能做什么"><img
										src="https://img.php.cn/upload/subject/202307/25/2023072509560014669.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python能做什么" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythonnzsm" class="aClass flexRow hotztra overflowclass" title="python能做什么">python能做什么</a>
									<p class="aClass flexRow hotztrp overflowclass">python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">758</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.07.25</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/formatzpython" class="aClass flexRow hotzta" title="format在python中的用法"><img
										src="https://img.php.cn/upload/subject/202307/31/2023073114074433322.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="format在python中的用法" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/formatzpython" class="aClass flexRow hotztra overflowclass" title="format在python中的用法">format在python中的用法</a>
									<p class="aClass flexRow hotztrp overflowclass">Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">618</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.07.31</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythonjc" class="aClass flexRow hotzta" title="python教程"><img
										src="https://img.php.cn/upload/subject/202308/03/2023080311475995178.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python教程" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythonjc" class="aClass flexRow hotztra overflowclass" title="python教程">python教程</a>
									<p class="aClass flexRow hotztrp overflowclass">Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">1262</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.03</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythonhjblbz" class="aClass flexRow hotzta" title="python环境变量的配置"><img
										src="https://img.php.cn/upload/subject/202308/04/2023080409460042319.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python环境变量的配置" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythonhjblbz" class="aClass flexRow hotztra overflowclass" title="python环境变量的配置">python环境变量的配置</a>
									<p class="aClass flexRow hotztrp overflowclass">Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">547</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.04</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pythoneval" class="aClass flexRow hotzta" title="python eval"><img
										src="https://img.php.cn/upload/subject/202308/04/2023080410233145730.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python eval" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pythoneval" class="aClass flexRow hotztra overflowclass" title="python eval">python eval</a>
									<p class="aClass flexRow hotztrp overflowclass">eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">577</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.04</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/scratchpyt" class="aClass flexRow hotzta" title="scratch和python区别"><img
										src="https://img.php.cn/upload/subject/202308/07/2023080711201214629.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="scratch和python区别" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/scratchpyt" class="aClass flexRow hotztra overflowclass" title="scratch和python区别">scratch和python区别</a>
									<p class="aClass flexRow hotztrp overflowclass">scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">707</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.11</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/ggfwkfypsz" class="aClass flexRow hotzta" title="Golang gRPC 服务开发与Protobuf实战"><img
										src="https://img.php.cn/upload/subject/202601/15/2026011511425484265.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Golang gRPC 服务开发与Protobuf实战" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/ggfwkfypsz" class="aClass flexRow hotztra overflowclass" title="Golang gRPC 服务开发与Protobuf实战">Golang gRPC 服务开发与Protobuf实战</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">8</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
											</div>
				</div>

				<div class="hotdownload ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>热门下载</p>
						</div>
						<a target="_blank" 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 target="_blank" title="jQuery联系人生成二维码代码" href="/xiazai/js/8470"><span>[表单按钮]</span><span>jQuery联系人生成二维码代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="10款鼠标悬停遮罩显示文字特效" href="/xiazai/js/8469"><span>[文字特效]</span><span>10款鼠标悬停遮罩显示文字特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="HTML5 Canvas粒子文字特效" href="/xiazai/js/8468"><span>[文字特效]</span><span>HTML5 Canvas粒子文字特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery橙色注册表单验证代码" href="/xiazai/js/8467"><span>[表单按钮]</span><span>jQuery橙色注册表单验证代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery大屏淡入淡出幻灯片" href="/xiazai/js/8466"><span>[图片特效]</span><span>jQuery大屏淡入淡出幻灯片</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery底部带缩略图的幻灯片代码" href="/xiazai/js/8465"><span>[图片特效]</span><span>jquery底部带缩略图的幻灯片代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="html5用手机号码注册表单代码" href="/xiazai/js/8464"><span>[表单按钮]</span><span>html5用手机号码注册表单代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="饮料瓶造型文字旋转特效" href="/xiazai/js/8463"><span>[文字特效]</span><span>饮料瓶造型文字旋转特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery用户注册提示效果 jQuery用户注册提示效果网页特效" href="/xiazai/js/8462"><span>[表单按钮]</span><span>jQuery用户注册提示效果 jQuery用户注册提示效果网页特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery和CSS3霓虹灯文字特效" href="/xiazai/js/8461"><span>[文字特效]</span><span>jQuery和CSS3霓虹灯文字特效</span></a>
									</div>
								</li>
													</ul>
						<ul class="twof" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11354" title="思翔企(事)业单位文件柜 build 20080313"><span>[其它模板]</span><span>思翔企(事)业单位文件柜 build 20080313</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11353" title="雅龙智能装备工业设备类WordPress主题1.0"><span>[企业站源码]</span><span>雅龙智能装备工业设备类WordPress主题1.0</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11352" title="威发卡自动发卡系统"><span>[电商源码]</span><span>威发卡自动发卡系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11351" title="卡密分发系统"><span>[电商源码]</span><span>卡密分发系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11350" title="中华陶瓷网"><span>[电商源码]</span><span>中华陶瓷网</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11349" title="简洁粉色食品公司网站"><span>[电商源码]</span><span>简洁粉色食品公司网站</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11348" title="极速网店系统"><span>[电商源码]</span><span>极速网店系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11347" title="淘宝妈妈_淘客推广系统"><span>[电商源码]</span><span>淘宝妈妈_淘客推广系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11346" title="积客B2SCMS商城系统"><span>[电商源码]</span><span>积客B2SCMS商城系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11345" title="CODEC2I 众筹系统"><span>[电商源码]</span><span>CODEC2I 众筹系统</span> </a>
									</div>
								</li>
													</ul>
						<ul class="threef" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4197" title="手绘烹饪调料香料合集矢量素材"><span>[网站素材]</span><span>手绘烹饪调料香料合集矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4196" title="惬意午后咖啡阅读时光矢量插画"><span>[网站素材]</span><span>惬意午后咖啡阅读时光矢量插画</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4195" title="中国宏伟古建筑矢量素材"><span>[网站素材]</span><span>中国宏伟古建筑矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4194" title="黑色星期五耳机折扣横幅设计下载"><span>[网站素材]</span><span>黑色星期五耳机折扣横幅设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4193" title="国潮风莲花荷塘插画矢量素材"><span>[网站素材]</span><span>国潮风莲花荷塘插画矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4192" title="假日快乐烟花背景ps素材下载"><span>[网站素材]</span><span>假日快乐烟花背景ps素材下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4191" title="新春喜庆剪纸喜鹊窗花矢量素材"><span>[网站素材]</span><span>新春喜庆剪纸喜鹊窗花矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4190" title="绿色生态梯田自然风景矢量素材"><span>[网站素材]</span><span>绿色生态梯田自然风景矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4189" title="紫色风格2026折扣横幅海报设计下载"><span>[网站素材]</span><span>紫色风格2026折扣横幅海报设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4188" title="手绘烘焙甜点菜单矢量模板"><span>[网站素材]</span><span>手绘烘焙甜点菜单矢量模板</span> </a>
									</div>
								</li>
													</ul>
						<ul class="fourf" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8590"  title="驾照考试驾校HTML5网站模板"><span>[前端模板]</span><span>驾照考试驾校HTML5网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8589"  title="驾照培训服务机构宣传网站模板"><span>[前端模板]</span><span>驾照培训服务机构宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8588"  title="HTML5房地产公司宣传网站模板"><span>[前端模板]</span><span>HTML5房地产公司宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8587"  title="新鲜有机肉类宣传网站模板"><span>[前端模板]</span><span>新鲜有机肉类宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8586"  title="响应式天气预报宣传网站模板"><span>[前端模板]</span><span>响应式天气预报宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8585"  title="房屋建筑维修公司网站CSS模板"><span>[前端模板]</span><span>房屋建筑维修公司网站CSS模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8584"  title="响应式志愿者服务网站模板"><span>[前端模板]</span><span>响应式志愿者服务网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8583"  title="创意T恤打印店网站HTML5模板"><span>[前端模板]</span><span>创意T恤打印店网站HTML5模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8582"  title="网页开发岗位简历作品展示网页模板"><span>[前端模板]</span><span>网页开发岗位简历作品展示网页模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8581"  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="artrig-adv ">
					<script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>



				<div class="xgarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="相关下载"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php商城系统" href="/xiazai/code/11178">php商城系统</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="淘源码商城PHP淘宝查信誉" href="/xiazai/code/11177">淘源码商城PHP淘宝查信誉</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP房产程序[BBWPS]" href="/xiazai/code/11165">PHP房产程序[BBWPS]</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP简约自动发卡平台个人版" href="/xiazai/code/11128">PHP简约自动发卡平台个人版</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="ERMEB域名PHP离线网络授权系统" href="/xiazai/code/11040">ERMEB域名PHP离线网络授权系统</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Difeye-敏捷的轻量级PHP框架" href="/xiazai/code/11037">Difeye-敏捷的轻量级PHP框架</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="大泉州汽车网PHP整站程序" href="/xiazai/code/10963">大泉州汽车网PHP整站程序</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" target="_blank" href="/course/sort_new.html" title="精品课程"><span>更多</span><b></b></a>
					</div>
					<div class=" jpkcTab">
						<div class=" jpkcTabs flexRow">
							<div class="check" data-id="onefd">相关推荐 <b></b> </div> /
							<div class="" data-id="twofd">热门推荐 <b></b></div> /
							<div class="" data-id="threefd">最新课程 <b></b></div>
						</div>
						<div class="onefd jpktabd">
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1685.html" title="React 教程">
									<img src="https://img.php.cn/upload/course/000/000/090/68a57f93dca03131.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="React 教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1685.html" title="React 教程"
										class="rirightp overflowclass">React 教程</a>

									<div class="risrdown flexRow">
										<p>共58课时 | 3.7万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1678.html" title="TypeScript 教程">
									<img src="https://img.php.cn/upload/course/000/000/090/689af5e100b41499.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="TypeScript 教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1678.html" title="TypeScript 教程"
										class="rirightp overflowclass">TypeScript 教程</a>

									<div class="risrdown flexRow">
										<p>共19课时 | 2.2万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1673.html" title="Bootstrap 5教程">
									<img src="https://img.php.cn/upload/course/000/000/090/6899a24dcdf73781.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Bootstrap 5教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1673.html" title="Bootstrap 5教程"
										class="rirightp overflowclass">Bootstrap 5教程</a>

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

						<div class="twofd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
										<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
											class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 7万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)">
										<img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"
											class="rirightp overflowclass">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a>

										<div class="risrdown flexRow">
											<p>共79课时 | 151.2万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" 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='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程"
											class="rirightp overflowclass">phpStudy极速入门视频教程</a>

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

						<div class="threefd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通">
											<img src="https://img.php.cn/upload/course/000/000/081/68c135bb72783194.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新Python教程 从入门到精通" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通"
												class="rirightp overflowclass">最新Python教程 从入门到精通</a>

											<div class="risrdown flexRow">
												<p>共4课时 | 0.7万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
												class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共6课时 | 7万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/684a8c23d811b293.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP新手语法线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学"
												class="rirightp overflowclass">PHP新手语法线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共13课时 | 0.9万人学习</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="最新文章" target="_blank"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Polars 0.20.7 中 map_groups 分组语法变更及替代方案" href="/faq/1986790.html">Polars 0.20.7 中 map_groups 分组语法变更及替代方案</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Scrapy 中跨解析函数传递变量的正确方法" href="/faq/1986787.html">Scrapy 中跨解析函数传递变量的正确方法</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Scrapy中跨解析函数传递变量的正确方法" href="/faq/1986715.html">Scrapy中跨解析函数传递变量的正确方法</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何让 Tkinter 中的 ScrolledText 自适应窗口缩放" href="/faq/1986696.html">如何让 Tkinter 中的 ScrolledText 自适应窗口缩放</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Scrapy 中如何在多个解析函数间传递变量值" href="/faq/1986632.html">Scrapy 中如何在多个解析函数间传递变量值</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何让 Tkinter 中的 ScrolledText 随窗口大小自适应缩放" href="/faq/1986558.html">如何让 Tkinter 中的 ScrolledText 随窗口大小自适应缩放</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Polars 0.20.7 中 map_groups 报错的替代方案与修复指南" href="/faq/1986364.html">Polars 0.20.7 中 map_groups 报错的替代方案与修复指南</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何让 Tkinter 中的 ScrolledText 随窗口大小自适应缩放?" href="/faq/1986293.html">如何让 Tkinter 中的 ScrolledText 随窗口大小自适应缩放?</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何将带多级列头的 Pandas DataFrame 重塑为规整的长格式结构" href="/faq/1986262.html">如何将带多级列头的 Pandas DataFrame 重塑为规整的长格式结构</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何让 Tkinter 中的 ScrolledText 自适应窗口大小变化" href="/faq/1986179.html">如何让 Tkinter 中的 ScrolledText 自适应窗口大小变化</a></div>
											</div>

				</div>






			</div>



		</div>

	</div>
	<!--底部-->
	<div class="phpFoot">
    <div class="phpFootIn">
        <div class="phpFootCont">
            <div class="phpFootLeft">
                <dl>
                    <dt>
                        <a target="_blank"  href="/about/us.html" rel="nofollow"  title="关于我们" class="cBlack">关于我们</a>
                        <a target="_blank"  href="/about/disclaimer.html" rel="nofollow"  title="免责申明" class="cBlack">免责申明</a>
                        <a target="_blank"  href="/about/jbzx.html" rel="nofollow"  title="举报中心" class="cBlack">举报中心</a>
                        <a   href="javascript:;" rel="nofollow" onclick="advice_data(99999999,'意见反馈')"   title="意见反馈" class="cBlack">意见反馈</a>
                        <a target="_blank"  href="https://www.php.cn/teacher.html" rel="nofollow"   title="讲师合作" class="cBlack">讲师合作</a>
                        <a  target="_blank" href="https://www.php.cn/blog/detail/20304.html" rel="nofollow"  title="广告合作" class="cBlack">广告合作</a>
                        <a  target="_blank" href="/new/"    title="最新文章列表" class="cBlack">最新更新</a>
                                                <div class="clear"></div>
                    </dt>
                    <dd class="cont1">php中文网:公益在线php培训,帮助PHP学习者快速成长!</dd>
                    <dd class="cont2">
                      <span class="ylwTopBox">
                        <a   href="javascript:;"  class="cBlack"><b class="icon1"></b>关注服务号</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>微信扫码<br/>关注PHP中文网服务号</p>
                          <img src="/static/images/examples/text16.png"/>
                        </em>
                      </span>
                        <span class="ylwTopBox">
                        <a   href="tencent://message/?uin=27220243&Site=www.php.cn&Menu=yes"  class="cBlack"><b class="icon2"></b>技术交流群</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>QQ扫码<br/>加入技术交流群</p>
                          <img src="/static/images/examples/text18.png"/>
                        </em>
                      </span>
                        <div class="clear"></div>
                    </dd>
                </dl>
                
            </div>
            <div class="phpFootRight">
                <div class="phpFootMsg">
                    <span><img src="/static/images/examples/text17.png"/></span>
                    <dl>
                        <dt>PHP中文网订阅号</dt>
                        <dd>每天精选资源文章推送</dd>
                    </dl>
                </div>
            </div>
        </div>
    </div>
    <div class="phpFootCode">
        <div class="phpFootCodeIn"><p>Copyright 2014-2026 <a   href="https://www.php.cn/" >https://www.php.cn/</a> All Rights Reserved | php.cn | <a   href="https://beian.miit.gov.cn/" rel="nofollow" >湘ICP备2023035733号</a></p><a   href="http://www.beian.gov.cn/portal/index.do" rel="nofollow" ><b></b></a></div>
    </div>
</div>
<input type="hidden" id="verifycode" value="/captcha.html">
<script>
    var _hmt = _hmt || [];
    (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
<script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script>

<span class="layui-hide"><script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1280886301&web_id=1280886301"></script></span>

<script src="/static/js/cdn.js?v=1.0.1"></script>



	<!--底部 end-->
	<!-- content -->
	<!--
    <div class="phpFudong">
        <div class="phpFudongIn">
            <div class="phpFudongImg"></div>
            <div class="phpFudongXue">登录PHP中文网,和优秀的人一起学习!</div>
            <div class="phpFudongQuan">全站<span>2000+</span>教程免费学</div>
            <div class="phpFudongCode"><a   href="javascript:;" id="login" title="微信扫码登录">微信扫码登录</a></div>
            <div class="phpGuanbi" onclick="$('.phpFudong').hide();"></div>
            <div class="clear"></div>
        </div>
    </div>
-->	<!--底部浮动层 end-->
	<!--侧导航-->
	<style>
    .layui-fixbar{display: none;}
</style>
<div class="phpSdhBox" style="height:240px !important;">
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="/k24.html"  class="hover" title="PHP学习">
                    <b class="icon1"></b>
                    <p>PHP学习</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="https://www.php.cn/blog/detail/1047189.html" >
                    <b class="icon2"></b>
                    <p>技术支持</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="#">
                    <b class="icon6"></b>
                    <p>返回顶部</p>
                </a>
            </div>
        </div>
    </li>
</div>
	</body>

</html>

<script type="text/javascript" src="/hitsUp?type=article&id=1762018&time=1768485805">
</script>
<script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1768485805"></script>
<script>
	article_status = "1522170";
</script>
<input type="hidden" id="verifycode" value="/captcha.html">
<script type="text/javascript" src="/static/js/global.min.js?5.5.33"></script>
<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
<script type='text/javascript' src='/static/js/viewer.min.js?1'></script>
<script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script>
<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<script>var _hmt = _hmt || [];(function(){var hm = document.createElement("script");hm.src="//hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if(curProtocol === 'https'){bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src = 'http://push.zhanzhang.baidu.com/push.js';};var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();</script>
	

<script>
	function setCookie(name, value, iDay) { //name相当于键,value相当于值,iDay为要设置的过期时间(天)
		var oDate = new Date();
		oDate.setDate(oDate.getDate() + iDay);
		document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate;
	}

	function getCookie(name) {
		var cookieArr = document.cookie.split(";");
		for (var i = 0; i < cookieArr.length; i++) {
			var cookiePair = cookieArr[i].split("=");
			if (name == cookiePair[0].trim()) {
				return decodeURIComponent(cookiePair[1]);
			}
		}
		return null;
	}
</script>


<!-- Matomo -->
<script>
	var _paq = window._paq = window._paq || [];
	/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
	_paq.push(['trackPageView']);
	_paq.push(['enableLinkTracking']);
	(function () {
		var u = "https://tongji.php.cn/";
		_paq.push(['setTrackerUrl', u + 'matomo.php']);
		_paq.push(['setSiteId', '11']);
		var d = document,
			g = d.createElement('script'),
			s = d.getElementsByTagName('script')[0];
		g.async = true;
		g.src = u + 'matomo.js';
		s.parentNode.insertBefore(g, s);
	})();
</script>
<!-- End Matomo Code -->

<script>
	setCookie('is_article', 1, 1);
</script>

<script>
	var is_login = "0";
        var show = 0;
        var ceng = getCookie('ceng');
        //未登录复制显示登录按钮
        if(is_login == 0 && false){
            $(".code").hover(function(){
                $(this).find('.contentsignin').show();
            },function(){
                $(this).find('.contentsignin').hide();
            });
            //不给复制
            $('.code').bind("cut copy paste",function(e) {
                e.preventDefault();
            });
            $('.code .contentsignin').click(function(){
                $(document).trigger("api.loginpopbox");
            })
        }else{
            // 获取所有的 <pre> 元素
            var preElements = document.querySelectorAll('pre');
            preElements.forEach(function(preElement) {
                // 创建复制按钮
                var copyButton = document.createElement('button');
                copyButton.className = 'copy-button';
                copyButton.textContent = '复制';
                // 添加点击事件处理程序
                copyButton.addEventListener('click', function() {
                    // 获取当前按钮所属的 <pre> 元素中的文本内容
                    var textContent = preElement.textContent.trim();
                    // 创建一个临时 textarea 元素并设置其值为 <pre> 中的文本内容
                    var tempTextarea = document.createElement('textarea');
                    tempTextarea.value = textContent;
                    // 将临时 textarea 添加到文档中
                    document.body.appendChild(tempTextarea);
                    // 选中临时 textarea 中的文本内容并执行复制操作
                    tempTextarea.select();
                    document.execCommand('copy');
                    // 移除临时 textarea 元素
                    document.body.removeChild(tempTextarea);
                    // 更新按钮文本为 "已复制"
                    this.textContent = '已复制';
                });

                // 创建AI写代码按钮
                var aiButton = document.createElement('button');
                aiButton.className = 'copy-button';
                aiButton.textContent = 'AI写代码';
                aiButton.style.marginLeft = '5px';
                aiButton.style.marginRight = '5px';
                // 添加点击事件处理程序
                aiButton.addEventListener('click', function() {
                // Generate a random number between 0 and 1
                        var randomChance = Math.random();

                    // If the random number is less than 0.5, open the first URL, else open the second
                    if (randomChance < 0.5) {
                        window.open('https://www.doubao.com/chat/coding?channel=php&source=hw_db_php', '_blank');
                    } else {
                        window.open('https://click.aliyun.com/m/1000402709/', '_blank');
                    }
                });

                // 将按钮添加到 <pre> 元素前面
                preElement.parentNode.insertBefore(copyButton, preElement);
                preElement.parentNode.insertBefore(aiButton, preElement);
        });
        }
</script>