通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

python如何爬取页面标题

python如何爬取页面标题

要使用Python爬取页面标题,可以使用几种常见的库,如requestsBeautifulSoupSelenium。以下是几个步骤的简要概述:首先使用requests获取页面内容,然后使用BeautifulSoup解析HTML并提取标题。你也可以使用Selenium来处理动态加载的页面。以下是详细的介绍。

一、使用requests和BeautifulSoup

requests和BeautifulSoup是Python中非常流行的库,常用于网页抓取任务。requests库用于发送HTTP请求,获取网页的HTML内容,BeautifulSoup则用于解析HTML,并提取所需的信息。以下是使用这两个库爬取页面标题的步骤:

安装requests和BeautifulSoup

在开始之前,需要确保已安装了requests和BeautifulSoup库。可以使用pip安装:

pip install requests

pip install beautifulsoup4

发送HTTP请求并获取页面内容

首先,使用requests库发送HTTP请求,获取网页的HTML内容:

import requests

url = 'https://example.com'

response = requests.get(url)

检查请求是否成功

if response.status_code == 200:

html_content = response.text

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

使用BeautifulSoup解析HTML并提取标题

接下来,使用BeautifulSoup库解析HTML内容,并提取页面标题:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_content, 'html.parser')

提取页面标题

title = soup.title.string

print(f"Page Title: {title}")

这种方法适用于大多数静态网页,但对于需要动态加载内容的网页,requests和BeautifulSoup可能无法获取所需的信息,这时可以考虑使用Selenium。

二、使用Selenium

Selenium是一个用于自动化Web浏览的工具,支持处理动态加载的网页。它通过控制浏览器执行JavaScript,从而获取动态内容。以下是使用Selenium爬取页面标题的步骤:

安装Selenium和浏览器驱动

首先,安装Selenium库,并下载与浏览器匹配的驱动程序(如ChromeDriver):

pip install selenium

下载ChromeDriver,并将其添加到系统路径中。

使用Selenium控制浏览器并获取页面内容

使用Selenium启动浏览器,加载网页,并获取页面标题:

from selenium import webdriver

启动Chrome浏览器

driver = webdriver.Chrome()

加载网页

url = 'https://example.com'

driver.get(url)

获取页面标题

title = driver.title

print(f"Page Title: {title}")

关闭浏览器

driver.quit()

Selenium适用于处理复杂的网页抓取任务,尤其是那些包含动态内容的页面。

三、综合使用requests、BeautifulSoup和Selenium

在实际应用中,可能需要综合使用requests、BeautifulSoup和Selenium以实现更复杂的网页抓取任务。例如,可以先使用requests获取静态内容,再用BeautifulSoup解析,最后使用Selenium处理动态内容

结合使用示例

以下是一个结合使用requests、BeautifulSoup和Selenium的示例:

import requests

from bs4 import BeautifulSoup

from selenium import webdriver

url = 'https://example.com'

使用requests获取静态内容

response = requests.get(url)

if response.status_code == 200:

html_content = response.text

soup = BeautifulSoup(html_content, 'html.parser')

title = soup.title.string

print(f"Static Page Title: {title}")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

使用Selenium处理动态内容

driver = webdriver.Chrome()

driver.get(url)

dynamic_title = driver.title

print(f"Dynamic Page Title: {dynamic_title}")

driver.quit()

四、处理不同类型的网页

在实际操作中,网页的结构和内容可能会有所不同,需要灵活运用不同的方法来爬取页面标题。要处理不同类型的网页,需要了解网页的结构和加载方式

处理简单静态网页

对于大多数简单的静态网页,requests和BeautifulSoup已经足够使用。可以通过查看网页的HTML源代码来确定标题的位置,并使用BeautifulSoup提取。

import requests

from bs4 import BeautifulSoup

url = 'https://example.com'

response = requests.get(url)

if response.status_code == 200:

soup = BeautifulSoup(response.text, 'html.parser')

title = soup.title.string

print(f"Page Title: {title}")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

处理动态加载的网页

对于需要动态加载内容的网页,Selenium是一个很好的选择。可以使用Selenium模拟用户操作,等待页面完全加载后再提取标题。

from selenium import webdriver

driver = webdriver.Chrome()

url = 'https://example.com'

driver.get(url)

等待页面加载完成

driver.implicitly_wait(10) # 等待10秒

title = driver.title

print(f"Page Title: {title}")

driver.quit()

处理需要登录的网页

对于需要登录才能访问的网页,可能需要先模拟登录过程,然后再抓取页面内容。可以使用requests库来处理登录,并保存会话信息。

import requests

from bs4 import BeautifulSoup

login_url = 'https://example.com/login'

target_url = 'https://example.com/target-page'

创建一个会话对象

session = requests.Session()

模拟登录

login_data = {

'username': 'your_username',

'password': 'your_password'

}

session.post(login_url, data=login_data)

访问目标页面

response = session.get(target_url)

if response.status_code == 200:

soup = BeautifulSoup(response.text, 'html.parser')

title = soup.title.string

print(f"Page Title: {title}")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

五、处理反爬虫机制

有些网站会采取反爬虫机制,限制频繁的网页抓取请求。为了避免被封禁IP,可以使用一些技术手段,如设置请求头、使用代理IP和限速

设置请求头

设置请求头可以模拟浏览器请求,减少被识别为爬虫的风险。

import requests

from bs4 import BeautifulSoup

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'

}

url = 'https://example.com'

response = requests.get(url, headers=headers)

if response.status_code == 200:

soup = BeautifulSoup(response.text, 'html.parser')

title = soup.title.string

print(f"Page Title: {title}")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

使用代理IP

使用代理IP可以避免被封禁IP,但需要注意代理IP的质量和稳定性。

import requests

from bs4 import BeautifulSoup

proxies = {

'http': 'http://your_proxy_ip:your_proxy_port',

'https': 'https://your_proxy_ip:your_proxy_port'

}

url = 'https://example.com'

response = requests.get(url, proxies=proxies)

if response.status_code == 200:

soup = BeautifulSoup(response.text, 'html.parser')

title = soup.title.string

print(f"Page Title: {title}")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

控制请求频率

控制请求频率可以避免频繁访问导致的封禁。可以使用time.sleep()函数来实现。

import requests

from bs4 import BeautifulSoup

import time

url = 'https://example.com'

控制请求频率

time.sleep(5) # 等待5秒

response = requests.get(url)

if response.status_code == 200:

soup = BeautifulSoup(response.text, 'html.parser')

title = soup.title.string

print(f"Page Title: {title}")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

六、处理复杂网页结构

有些网页的结构非常复杂,可能包含多个嵌套的标签和动态加载的内容。在这种情况下,需要深入分析网页的结构,并使用适当的方法提取标题

分析网页结构

可以使用浏览器的开发者工具(如Chrome DevTools)来分析网页的结构,找到标题所在的标签。

提取嵌套的标签

有些网页的标题可能嵌套在多个标签中,可以使用BeautifulSoup的find_all()方法来提取嵌套的标签。

import requests

from bs4 import BeautifulSoup

url = 'https://example.com'

response = requests.get(url)

if response.status_code == 200:

soup = BeautifulSoup(response.text, 'html.parser')

title_tag = soup.find_all('title')

if title_tag:

title = title_tag[0].string

print(f"Page Title: {title}")

else:

print("Title tag not found.")

else:

print(f"Failed to retrieve the webpage. Status code: {response.status_code}")

处理动态加载的内容

对于动态加载的内容,可以使用Selenium等待页面完全加载后再提取标题。

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()

url = 'https://example.com'

driver.get(url)

等待标题元素出现

try:

title_element = WebDriverWait(driver, 10).until(

EC.presence_of_element_located((By.TAG_NAME, 'title'))

)

title = title_element.get_attribute('innerHTML')

print(f"Page Title: {title}")

finally:

driver.quit()

七、总结

爬取页面标题是网页抓取中的一个基本任务,可以使用requests、BeautifulSoup和Selenium等库来实现。requests和BeautifulSoup适用于静态网页,Selenium适用于动态加载的网页。在实际应用中,可能需要综合使用这些工具,并根据网页的结构和反爬虫机制采取适当的技术手段。

在进行网页抓取时,还需要注意合法合规性,尊重网站的robots.txt文件和使用条款。合理控制抓取频率,避免对目标网站造成负担。

相关问答FAQs:

如何使用Python获取网页的标题?
要使用Python获取网页标题,可以使用requests库下载网页内容,并结合BeautifulSoup库解析HTML。具体步骤包括发送HTTP请求获取网页源码,然后解析该源码,提取标签中的内容。以下是一个简单的示例代码:</p> <pre><code class="language-python">import requests from bs4 import BeautifulSoup url = 'https://example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') title = soup.title.string print(title) </code></pre> <p><strong>在爬取网页标题时需要注意哪些事项?</strong><br />在爬取网页标题时,需遵循网站的robots.txt协议,以确保不违反其爬虫政策。此外,要注意网站的反爬虫机制,过于频繁的请求可能会导致IP被封禁。因此,建议在爬取时加入适当的延迟和随机化请求头。</p> <p><strong>如果页面没有<title>标签,我该如何处理?</strong><br />如果页面没有<title>标签,可以考虑查找其他可能包含页面标题的元素,比如</p> <h1>标签。使用BeautifulSoup可以轻松查找这些标签。例如:</p> <pre><code class="language-python">h1 = soup.find('h1') if h1: print(h1.string) else: print('没有找到标题') </code></pre> <p>通过这种方式,可以确保获得网页的主要信息,即使页面结构有所不同。</p> </div> </div> <div class="elementor-element elementor-element-f28f0c3 elementor-post-navigation-borders-yes elementor-widget elementor-widget-post-navigation" data-id="f28f0c3" data-element_type="widget" data-widget_type="post-navigation.default"> <div class="elementor-widget-container"> <div class="elementor-post-navigation"> <div class="elementor-post-navigation__prev elementor-post-navigation__link"> <a href="https://docs.pingcode.com/ask/ask-ask/1188367.html" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i class="fa fa-arrow-left" aria-hidden="true"></i><span class="elementor-screen-only">Prev</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">上一篇</span><span class="post-navigation__prev--title">python如何格式化学习</span></span></a> </div> <div class="elementor-post-navigation__separator-wrapper"> <div class="elementor-post-navigation__separator"></div> </div> <div class="elementor-post-navigation__next elementor-post-navigation__link"> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-1e455202 e-con-full blog-side e-flex e-con e-parent" data-id="1e455202" data-element_type="container"> <div class="elementor-element elementor-element-4e8a04e4 e-con-full blog-side-wrap e-flex e-con e-parent" data-id="4e8a04e4" data-element_type="container" data-settings="{"sticky":"top","sticky_on":["desktop","tablet"],"sticky_offset":120,"sticky_effects_offset":0}"> <div class="elementor-element elementor-element-1c6e1029 elementor-widget elementor-widget-template" data-id="1c6e1029" data-element_type="widget" data-widget_type="template.default"> <div class="elementor-widget-container"> <div class="elementor-template"> <style id="elementor-post-20830">.elementor-20830 .elementor-element.elementor-element-5e701895{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--justify-content:center;--background-transition:0.3s;}.elementor-20830 .elementor-element.elementor-element-72ad445b{--icon-box-icon-margin:0px;width:auto;max-width:auto;}.elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-ec68108 );fill:var( --e-global-color-7953bdb );color:var( --e-global-color-7953bdb );}.elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-framed .elementor-icon, .elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-default .elementor-icon{fill:var( --e-global-color-ec68108 );color:var( --e-global-color-ec68108 );border-color:var( --e-global-color-ec68108 );}.elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-7953bdb );}.elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-stacked .elementor-icon:hover{background-color:#F20707;fill:var( --e-global-color-7953bdb );color:var( --e-global-color-7953bdb );}.elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-framed .elementor-icon:hover, .elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-default .elementor-icon:hover{fill:#F20707;color:#F20707;border-color:#F20707;}.elementor-20830 .elementor-element.elementor-element-72ad445b.elementor-view-framed .elementor-icon:hover{background-color:var( --e-global-color-7953bdb );}.elementor-20830 .elementor-element.elementor-element-72ad445b .elementor-icon{font-size:20px;}.elementor-20830 .elementor-element.elementor-element-72ad445b .elementor-icon-box-title, .elementor-20830 .elementor-element.elementor-element-72ad445b .elementor-icon-box-title a{font-size:12px;}.elementor-20830 .elementor-element.elementor-element-3de0c567{--icon-box-icon-margin:0px;width:auto;max-width:auto;}.elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-de0c6e1 );}.elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-framed .elementor-icon, .elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-default .elementor-icon{fill:var( --e-global-color-de0c6e1 );color:var( --e-global-color-de0c6e1 );border-color:var( --e-global-color-de0c6e1 );}.elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-secondary );fill:var( --e-global-color-7953bdb );color:var( --e-global-color-7953bdb );}.elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-framed .elementor-icon:hover, .elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-default .elementor-icon:hover{fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-20830 .elementor-element.elementor-element-3de0c567.elementor-view-framed .elementor-icon:hover{background-color:var( --e-global-color-7953bdb );}.elementor-20830 .elementor-element.elementor-element-3de0c567 .elementor-icon{font-size:20px;}.elementor-20830 .elementor-element.elementor-element-3de0c567 .elementor-icon-box-title, .elementor-20830 .elementor-element.elementor-element-3de0c567 .elementor-icon-box-title a{font-size:12px;}/* Start custom CSS */.icon { width: 2em; height: 2em; vertical-align: -0.2em; fill: currentColor; overflow: hidden; } .share-box .wrap{ display:flex; align-items: center; gap:10px; color:#999; font-size:14px; } .share-box a{ position:relative; display:block; } .share-box .tips { display:none; width: 140px; position: absolute; top: 36px; z-index: 9999; background: #fff; border: 1px solid #eee; text-align: center; color: #999; left: 50%; transform: translateX(-50%); } .share-box a:hover .tips { display:block; }/* End custom CSS */</style> <div data-elementor-type="container" data-elementor-id="20830" class="elementor elementor-20830" data-elementor-post-type="elementor_library"> <div class="elementor-element elementor-element-5e701895 e-flex e-con-boxed e-con e-parent" data-id="5e701895" data-element_type="container" id="post-action"> <div class="e-con-inner"> <div class="elementor-element elementor-element-72ad445b elementor-view-stacked elementor-widget__width-auto elementor-shape-circle elementor-position-top elementor-mobile-position-top elementor-widget elementor-widget-icon-box" data-id="72ad445b" data-element_type="widget" data-widget_type="icon-box.default"> <div class="elementor-widget-container"> <div class="elementor-icon-box-wrapper"> <div class="elementor-icon-box-icon"> <a href="#" do="like" class="elementor-icon elementor-animation-" tabindex="-1"> <i aria-hidden="true" class=" icon_like_alt"></i> </a> </div> <div class="elementor-icon-box-content"> <div class="elementor-icon-box-title"> <a href="#" do="like" > 点赞 (<span>0</span>) </a> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-3de0c567 elementor-view-stacked elementor-widget__width-auto elementor-shape-circle elementor-position-top elementor-mobile-position-top elementor-widget elementor-widget-icon-box" data-id="3de0c567" data-element_type="widget" data-widget_type="icon-box.default"> <div class="elementor-widget-container"> <div class="elementor-icon-box-wrapper"> <div class="elementor-icon-box-icon"> <a href="#" do="unlike" class="elementor-icon elementor-animation-" tabindex="-1"> <i aria-hidden="true" class=" icon_dislike_alt"></i> </a> </div> <div class="elementor-icon-box-content"> <div class="elementor-icon-box-title"> <a href="#" do="unlike" > 反对 (<span>0</span>) </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-6d82ea8f elementor-widget elementor-widget-shortcode" data-id="6d82ea8f" data-element_type="widget" data-widget_type="shortcode.default"> <div class="elementor-widget-container"> <div class="elementor-shortcode"><div class="share-box"> <div class='wrap'> <!-- <div class="text">分享</div> --> <div class='item'> <a href='javascript:;'> <img src="https://cdn-docs.pingcode.com/wp-content/themes/wpcn_new/assets/i/wechat.svg" alt="微信分享" class="icon"> <div class='tips'> <img class="simg" src=''> <div>微信扫一扫</div> </div> </a> </div> <div class='item'> <a href='javascript:;'> <img src="https://cdn-docs.pingcode.com/wp-content/themes/wpcn_new/assets/i/weibo.svg" alt="微博分享" class="icon"> <div class='tips'> <img class="simg" src=''> <div>微博扫一扫</div> </div> </a> </div> <div class='item'> <a href='javascript:;'> <img src="https://cdn-docs.pingcode.com/wp-content/themes/wpcn_new/assets/i/zhihu.svg" alt="知乎分享" class="icon"> <div class='tips'> <img class="simg" src=''> <div>知乎扫一扫</div> </div> </a> </div> </div> </div></div> </div> </div> </div> </div> </div> </div> </div> </div> <div data-elementor-type="footer" data-elementor-id="10106" class="elementor elementor-10106 elementor-location-footer" data-elementor-post-type="elementor_library"> <div class="elementor-section-wrap"> <div class="elementor-element elementor-element-e1d4beb e-grid e-con-boxed e-con e-parent" data-id="e1d4beb" data-element_type="container" data-settings="{"background_background":"classic"}"> <div class="e-con-inner"> <div class="elementor-element elementor-element-19c277d e-flex e-con-boxed e-con e-child" data-id="19c277d" data-element_type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-4526b11f elementor-hidden-mobile elementor-widget elementor-widget-wp-widget-nav_menu" data-id="4526b11f" data-element_type="widget" id="footer-menu" data-widget_type="wp-widget-nav_menu.default"> <div class="elementor-widget-container"> <div class="menu-%e5%ba%95%e9%83%a8-container"><ul id="menu-%e5%ba%95%e9%83%a8" class="menu"><li id="menu-item-10017" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10017"><a href="#">产品</a> <ul class="sub-menu"> <li id="menu-item-10018" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10018"><a href="https://pingcode.com/product/ship?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=ship">产品管理</a></li> <li id="menu-item-10019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10019"><a href="https://pingcode.com/product/project?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=ship">项目管理</a></li> <li id="menu-item-10184" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10184"><a href="https://pingcode.com/product/wiki?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=wiki">知识管理</a></li> <li id="menu-item-10185" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10185"><a href="https://pingcode.com/product/testhub?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=testhub">测试管理</a></li> <li id="menu-item-10186" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10186"><a href="https://pingcode.com/product/insight?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=insight">效能度量</a></li> <li id="menu-item-10187" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10187"><a href="https://pingcode.com/product/goals?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=goals">协作空间</a></li> <li id="menu-item-10188" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10188"><a href="https://pingcode.com/product/flow?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=flow">自动化</a></li> <li id="menu-item-10189" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10189"><a href="https://pingcode.com/product/access?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=access">目录服务</a></li> </ul> </li> <li id="menu-item-10020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10020"><a href="#">解决方案</a> <ul class="sub-menu"> <li id="menu-item-10021" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10021"><a href="https://pingcode.com/solutions/scrum?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=Scrum%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91">敏捷开发解决方案</a></li> <li id="menu-item-10190" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10190"><a href="https://pingcode.com/solutions/kanban-manage?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=Kanban%E7%AE%A1%E7%90%86">Kanban管理解决方案</a></li> <li id="menu-item-10191" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10191"><a href="https://pingcode.com/solutions/knowledge-manage?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=%E7%9F%A5%E8%AF%86%E7%AE%A1%E7%90%86">文档管理解决方案</a></li> <li id="menu-item-10192" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10192"><a href="https://pingcode.com/solutions/test-manage?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=%E6%B5%8B%E8%AF%95%E7%AE%A1%E7%90%86">测试管理解决方案</a></li> <li id="menu-item-10193" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10193"><a href="https://pingcode.com/solutions/enterprise-service?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=%E4%BC%81%E6%9C%8D">企服行业解决方案</a></li> </ul> </li> <li id="menu-item-10016" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10016"><a href="#">资源中心</a> <ul class="sub-menu"> <li id="menu-item-10181" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-10181"><a href="https://docs.pingcode.com/blog">博客</a></li> <li id="menu-item-895268" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-895268"><a href="https://docs.pingcode.com/baike">百科</a></li> <li id="menu-item-10182" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor menu-item-has-children menu-item-10182"><a href="https://docs.pingcode.com/ask">问答</a> <ul class="sub-menu"> <li id="menu-item-10015" class="menu-item menu-item-type-post_type menu-item-object-docs menu-item-10015"><a href="https://docs.pingcode.com/agile">敏捷开发指南</a></li> </ul> </li> <li id="menu-item-34595" class="menu-item menu-item-type-post_type menu-item-object-docs menu-item-34595"><a href="https://docs.pingcode.com/requirements-management-guide">需求管理指南</a></li> <li id="menu-item-52221" class="menu-item menu-item-type-post_type menu-item-object-docs menu-item-52221"><a href="https://docs.pingcode.com/code-review">谷歌工程实践| 开发者代码审查指南</a></li> <li id="menu-item-32601" class="menu-item menu-item-type-post_type menu-item-object-docs menu-item-32601"><a href="https://docs.pingcode.com/work-management">工作流程指南</a></li> <li id="menu-item-10195" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10195"><a href="https://pingcode.com/solutions/product-manage?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=%E4%BA%A7%E5%93%81%E7%AE%A1%E7%90%86">产品管理系统选型指南</a></li> <li id="menu-item-10194" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10194"><a href="https://pingcode.com/solutions/white-paper-2022baipishu?utm_source=Dcos&utm_medium=%E6%95%8F%E6%8D%B7%E7%99%BD%E7%9A%AE%E4%B9%A6">中国企业敏捷实践白皮书</a></li> <li id="menu-item-153237" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-153237"><a href="https://docs.pingcode.com/resource">更多洞察报告</a></li> </ul> </li> <li id="menu-item-10022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10022"><a href="#">公司</a> <ul class="sub-menu"> <li id="menu-item-10023" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10023"><a href="https://pingcode.com/about?utm_source=Docs&utm_medium=%E5%AF%BC%E8%88%AA%E6%A0%8F&utm_campaign=%E5%85%B3%E4%BA%8E%E6%88%91%E4%BB%AC">关于我们</a></li> </ul> </li> </ul></div> </div> </div> </div> </div> <div class="elementor-element elementor-element-726946f e-flex e-con-boxed e-con e-child" data-id="726946f" data-element_type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-d35dd65 elementor-widget elementor-widget-heading" data-id="d35dd65" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h2 class="elementor-heading-title elementor-size-default">400-800-1024</h2> </div> </div> <div class="elementor-element elementor-element-462f278 elementor-widget elementor-widget-heading" data-id="462f278" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h2 class="elementor-heading-title elementor-size-default">违法和不良信息举报邮箱:abuse@worktile.com</h2> </div> </div> <div class="elementor-element elementor-element-d75489d e-flex e-con-boxed e-con e-child" data-id="d75489d" data-element_type="container"> <div class="e-con-inner"> <div class="elementor-element elementor-element-d88a2a8 elementor-widget__width-initial elementor-absolute elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-position-top elementor-widget elementor-widget-image-box" data-id="d88a2a8" data-element_type="widget" id="wxbox" data-settings="{"_position":"absolute"}" data-widget_type="image-box.default"> <div class="elementor-widget-container"> <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><img loading="lazy" width="172" height="172" src="https://cdn-docs.pingcode.com/wp-content/uploads/2022/12/20231222-213212.png?x-oss-process=image/auto-orient,1/format,webp" class="attachment-full size-full wp-image-67024" alt="" /></figure><div class="elementor-image-box-content"><div class="elementor-image-box-title">扫描二维码<br>关注微信公众号</div></div></div> </div> </div> <div class="elementor-element elementor-element-4553993 e-grid-align-left elementor-shape-rounded elementor-grid-0 elementor-widget elementor-widget-social-icons" data-id="4553993" data-element_type="widget" data-widget_type="social-icons.default"> <div class="elementor-widget-container"> <style>/*! elementor - v3.21.0 - 22-05-2024 */ .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));height:calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:inline-flex;background-color:#69727d;align-items:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#69727d}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-threads{background-color:#000}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-x-twitter{background-color:#000}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}</style> <div class="elementor-social-icons-wrapper elementor-grid"> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-weixin elementor-repeater-item-f801c9f" href="#" data-do="wx"> <span class="elementor-screen-only">Weixin</span> <svg class="e-font-icon-svg e-fab-weixin" viewBox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z"></path></svg> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon- elementor-repeater-item-bf14540" href="https://www.zhihu.com/org/pingcode/answers" target="_blank"> <span class="elementor-screen-only"></span> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="icon" viewBox="0 0 1024 1024" width="200" height="200"><path d="M351.791182 562.469462l192.945407 0c0-45.367257-21.3871-71.939449-21.3871-71.939449L355.897709 490.530013c3.977591-82.182744 7.541767-187.659007 8.816806-226.835262l159.282726 0c0 0-0.86367-67.402109-18.578124-67.402109s-279.979646 0-279.979646 0 16.850783-88.141456 39.318494-127.053698c0 0-83.60514-4.510734-112.121614 106.962104S81.344656 355.077018 76.80834 367.390461c-4.536316 12.313443 24.62791 5.832845 36.941354 0 12.313443-5.832845 68.050885-25.924439 84.252893-103.69571l86.570681 0c1.165546 49.28652 4.596691 200.335724 3.515057 226.835262L109.86113 490.530013c-25.275663 18.147312-33.701566 71.939449-33.701566 71.939449L279.868105 562.469462c-8.497535 56.255235-23.417339 128.763642-44.275389 167.210279-33.05279 60.921511-50.55235 116.65793-169.802314 212.576513 0 0-19.442818 14.257725 40.829917 9.073656 60.273758-5.185093 117.305683-20.739347 156.840094-99.807147 20.553105-41.107233 41.805128-93.250824 58.386782-146.138358l-0.055259 0.185218 167.855986 193.263655c0 0 22.035876-51.847855 5.832845-108.880803L371.045711 650.610918l-42.1244 31.157627-0.045025 0.151449c11.69946-41.020252 20.11206-81.5749 22.726607-116.858498C351.665315 564.212152 351.72876 563.345412 351.791182 562.469462z" fill="#ffffff"></path><path d="M584.918753 182.033893l0 668.840094 70.318532 0 28.807093 80.512708 121.875768-80.512708 153.600307 0L959.520453 182.033893 584.918753 182.033893zM887.150192 778.934538l-79.837326 0-99.578949 65.782216-23.537066-65.782216-24.855084 0L659.341766 256.673847l227.807403 0L887.149169 778.934538z" fill="#ffffff"></path></svg> </a> </span> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-6cd6b71 elementor-hidden-mobile elementor-widget elementor-widget-shortcode" data-id="6cd6b71" data-element_type="widget" data-widget_type="shortcode.default"> <div class="elementor-widget-container"> <div class="elementor-shortcode"><div id="seo-link"> <span>友情链接:</span> <a href="https://www.betteryeah.com" target="_blank">AI智能体</a> <a href="https://www.finebi.com/" target="_blank">BI数据分析软件</a> <a href="https://www.fxiaoke.com/" target="_blank">CRM</a> <a href="https://devops.gitlab.cn/" target="_blank">Devops社区</a> <a href="https://lims.jxdinfo.com" target="_blank">LIMS实验室管理系统</a> <a href="https://worktile.com/kb/" target="_blank">WT内容社区</a> <a href="https://www.vientianeark.cn/" target="_blank">万象方舟</a> <a href="https://ecloud.10086.cn/portal/product/cloudComputer" target="_blank">云电脑</a> <a href="https://www.ekuaibao.com/" target="_blank">合思</a> <a href="https://www.fanruan.com/" target="_blank">帆软软件</a> <a href="https://www.welingo.com" target="_blank">影视大全</a> <a href="https://www.finereport.com/" target="_blank">报表工具</a> <a href="https://pingcode.com/" target="_blank">智能化研发管理工具</a> <a href="http://www.sxhctv.com/list.asp?id=1" target="_blank">韩城新闻网</a> <a href="https://worktile.com/" target="_blank">项目管理工具</a> </div> </div> </div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-116c84af e-flex e-con-boxed e-con e-parent" data-id="116c84af" data-element_type="container" id="footer-copyright" data-settings="{"background_background":"classic"}"> <div class="e-con-inner"> <div class="elementor-element elementor-element-0f6bcba elementor-hidden-mobile elementor-widget elementor-widget-image" data-id="0f6bcba" data-element_type="widget" data-widget_type="image.default"> <div class="elementor-widget-container"> <img loading="lazy" width="128" height="26" src="https://cdn-docs.pingcode.com/wp-content/uploads/2022/12/footer_logo.svg" class="attachment-large size-large wp-image-64831" alt="" /> </div> </div> <div class="elementor-element elementor-element-89be40f elementor-widget elementor-widget-text-editor" data-id="89be40f" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p><span class="icp-info-pc"><a class="icp-num" href="https://beian.miit.gov.cn/" target="_blank" rel="noopener">京ICP备13017353号</a><a class="icp-num" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802032686" target="_blank" rel="noopener">京公网安备 11010802032686号</a> </span><span class="split-words">| </span><span class="copyright copyright-info-pc">© 2025 pingcode.com</span></p> </div> </div> </div> </div> </div> </div> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/themes/docy/assets/vendors/bootstrap/js/bootstrap.bundle.min.js?ver=5.1.3" id="bootstrap-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/themes/docy/assets/vendors/wow/wow.min.js?ver=1.1.3" id="wow-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/themes/docy/assets/js/main.js?ver=1.0.0" id="docy-main-js"></script> <script type="text/javascript" id="docy-main-js-after"> /* <![CDATA[ */ jQuery(document).ready(function(){ }) /* ]]> */ </script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/hoverIntent.min.js?ver=1.10.2" id="hoverIntent-js"></script> <script type="text/javascript" id="megamenu-js-extra"> /* <![CDATA[ */ var megamenu = {"timeout":"300","interval":"100"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/megamenu/js/maxmegamenu.js?ver=3.2.4" id="megamenu-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.0.1" id="smartmenus-js"></script> <script type="text/javascript" src="https://docs.pingcode.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=3.17.1" id="elementor-pro-webpack-runtime-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.21.7" id="elementor-webpack-runtime-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.21.7" id="elementor-frontend-modules-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/dist/vendor/wp-polyfill-inert.min.js?ver=3.1.2" id="wp-polyfill-inert-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/dist/vendor/regenerator-runtime.min.js?ver=0.14.0" id="regenerator-runtime-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0" id="wp-polyfill-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/dist/hooks.min.js?ver=c6aec9a8d4e5a5d543a1" id="wp-hooks-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/dist/i18n.min.js?ver=7701b0c3857f914212ef" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" id="elementor-pro-frontend-js-before"> /* <![CDATA[ */ var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/docs.pingcode.com\/wp-admin\/admin-ajax.php","nonce":"c0b1d9d4b6","urls":{"assets":"https:\/\/docs.pingcode.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/docs.pingcode.com\/wp-json\/"},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"}},"facebook_sdk":{"lang":"zh_CN","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/docs.pingcode.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}}; /* ]]> */ </script> <script type="text/javascript" src="https://docs.pingcode.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=3.17.1" id="elementor-pro-frontend-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/elementor/assets/lib/waypoints/waypoints.min.js?ver=4.0.2" id="elementor-waypoints-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.2" id="jquery-ui-core-js"></script> <script type="text/javascript" id="elementor-frontend-js-before"> /* <![CDATA[ */ var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"\u5728\u8138\u4e66\u4e0a\u5206\u4eab","shareOnTwitter":"\u5206\u4eab\u5230Twitter","pinIt":"\u9489\u4f4f","download":"\u4e0b\u8f7d","downloadImage":"\u4e0b\u8f7d\u56fe\u7247","fullscreen":"\u5168\u5c4f","zoom":"\u7f29\u653e","share":"\u5206\u4eab","playVideo":"\u64ad\u653e\u89c6\u9891","previous":"\u4e0a\u4e00\u9875","next":"\u4e0b\u4e00\u9875","close":"\u5173\u95ed","a11yCarouselWrapperAriaLabel":"\u5e7b\u706f\u7247 | \u6c34\u5e73\u6eda\u52a8\uff1a\u5de6\u7bad\u5934\u548c\u53f3\u7bad\u5934","a11yCarouselPrevSlideMessage":"\u4e0a\u4e00\u5f20\u5e7b\u706f\u7247","a11yCarouselNextSlideMessage":"\u4e0b\u4e00\u5f20\u5e7b\u706f\u7247","a11yCarouselFirstSlideMessage":"\u8fd9\u662f\u7b2c\u4e00\u5f20\u5e7b\u706f\u7247","a11yCarouselLastSlideMessage":"\u8fd9\u662f\u6700\u540e\u4e00\u5f20\u5e7b\u706f\u7247","a11yCarouselPaginationBulletMessage":"\u8f6c\u5230\u5e7b\u706f\u7247"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"\u624b\u673a\u7eb5\u5411","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"\u624b\u673a\u6a2a\u5411","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"\u5e73\u677f\u7535\u8111\u7eb5\u5411","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"\u5e73\u677f\u7535\u8111\u6a2a\u5411","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"\u7b14\u8bb0\u672c\u7535\u8111","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"\u5168\u5bbd\u5c4f","value":2400,"default_value":2400,"direction":"min","is_enabled":false}}},"version":"3.21.7","is_static":false,"experimentalFeatures":{"e_optimized_assets_loading":true,"e_optimized_css_loading":true,"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"e_swiper_latest":true,"container_grid":true,"theme_builder_v2":true,"home_screen":true,"editor_v2":true,"ai-layout":true,"landing-pages":true,"nested-elements":true,"page-transitions":true,"notes":true,"form-submissions":true,"e_scroll_snap":true,"mega-menu":true},"urls":{"assets":"https:\/\/docs.pingcode.com\/wp-content\/plugins\/elementor\/assets\/"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_description_src":"description"},"post":{"id":1188370,"title":"python%E5%A6%82%E4%BD%95%E7%88%AC%E5%8F%96%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98%20%E2%80%93%20PingCode","excerpt":"","featuredImage":false}}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.21.7" id="elementor-frontend-js"></script> <script type="text/javascript" src="https://docs.pingcode.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=3.17.1" id="pro-elements-handlers-js"></script> <script type="text/javascript" src="https://cdn-docs.pingcode.com/wp-content/plugins/elementor-pro/assets/lib/sticky/jquery.sticky.min.js?ver=3.17.1" id="e-sticky-js"></script> <script src="https://assets.giocdn.com/sdk/webjs/cdp/plugins/gioCompress.js"></script> <script type="text/javascript"> !(function (e, n, t, c, i) { (e[i] = e[i] || function () { (e[i].q = e[i].q || []).push(arguments); }), (t = n.createElement('script')); s = n.getElementsByTagName('script')[0]; (t.async = 1), (t.src = c), s.parentNode.insertBefore(t, s); })(window, document, 'script', 'https://assets.giocdn.com/sdk/webjs/cdp/gdp-alpha.js', 'gdp'); gdp('registerPlugins', [gioCompress]); gdp('init', '9daf8dfdc099c207', '8abe66aa0f6ba5c7', { host: 'gio.pingcode.com', scheme: 'https://', version: '1.0.0' }); </script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-SG9T8R1JGR"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-SG9T8R1JGR'); </script> <!--百度自动推送代码开始--> <script> (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> <!--百度自动推送代码结束--> </body> </html> <!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com 使用 Predis (v2.1.2) 从 Redis 检索了 6188 个对象 (9 MB)。 --> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ 使用页面缓存Disk: Enhanced 通过 cdn-docs.pingcode.com 的内容交付网络 Served from: docs.pingcode.com @ 2025-01-15 20:32:45 by W3 Total Cache -->