百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python爬虫常用库有哪些?

zhezhongyun 2025-02-10 15:12 42 浏览

Python有非常多的爬虫框架,主要分为三大类。

一种是请求库,比如requests、urllib、httpx等,负责向目标网站发送HTTP请求并获取响应数据。Scrapy也属于这个大类,不过Scrapy功能更加完善,可以提供异步网络请求、高效的数据提取与灵活的扩展性,适用于构建复杂和大规模的网页爬虫应用。

另一种是解析库,比如beautifulsoup4、lxml、pyquery等,负责解析HTML或XML等格式的网页内容,来提取数据。

最后一种是自动化工具,比如Playwright、Selenium、Pyppeteer等,负责浏览器自动化操作,可以用于浏览器自动化、爬虫、Web UI测试。

这里介绍6个最常用的库。

1. BeautifulSoup

BeautifulSoup是最常用的Python网页解析库之一,可将 HTML 和 XML 文档解析为树形结构,能更方便地识别和提取数据。

BeautifulSoup可以自动将输入文档转换为 Unicode,将输出文档转换为 UTF-8。此外,你还可以设置 BeautifulSoup 扫描整个解析页面,识别所有重复的数据(例如,查找文档中的所有链接),只需几行代码就能自动检测特殊字符等编码。

from bs4 import BeautifulSoup  
  
# 假设这是我们从某个网页获取的HTML内容(这里直接以字符串形式给出)  
html_content = """  
  
  
    示例网页  
  
  
    

欢迎来到BeautifulSoup示例

这是一个关于BeautifulSoup的简单示例。

关于我们 """ # 使用BeautifulSoup解析HTML内容,这里默认使用Python的html.parser作为解析器 # 你也可以指定其他解析器,如'lxml'或'html5lib',但需要先安装它们 soup = BeautifulSoup(html_content, 'html.parser') # 提取并打印标签的文本内容 print("网页标题:", soup.title.string) # 网页标题: 示例网页 # 提取并打印<p>标签的文本内容,这里使用class属性来定位 print("介绍内容:", soup.find('p', class_='introduction').string) # 介绍内容: 这是一个关于BeautifulSoup的简单示例。 # 提取并打印<a>标签的href属性和文本内容 link = soup.find('a', class_='link') print("链接地址:", link['href']) # 链接地址: https://www.example.com/about print("链接文本:", link.string) # 链接文本: 关于我们 # 注意:如果HTML内容中包含多个相同条件的标签,你可以使用find_all()来获取它们的一个列表 # 例如,要获取所有<a>标签的href属性,可以这样做: all_links = [a['href'] for a in soup.find_all('a')] print("所有链接地址:", all_links) # 假设HTML中有多个<a>标签,这里将列出它们的href属性 # 注意:上面的all_links列表在当前的HTML内容中只有一个元素,因为只有一个<a>标签</code></pre><h1 class="pgc-h-arrow-right" data-track="10">2. Scrapy</h1><p data-track="11"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">Scrapy是一个流行的高级爬虫框架,可快速高效地抓取网站并从其页面中提取结构化数据。</span></p><p data-track="12"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">由于 Scrapy 主要用于构建复杂的爬虫项目,并且它通常与项目文件结构一起使用</span></p><p data-track="13"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">Scrapy 不仅仅是一个库,还可以用于各种任务,包括监控、自动测试和数据挖掘。这个 Python 库包含一个内置的选择器(Selectors)功能,可以快速异步处理请求并从网站中提取数据。</span></p><pre class="prism-highlight prism-language-bash" class="syl-page-code"><code># 假设这个文件名为 my_spider.py,但它实际上应该放在 Scrapy 项目的 spiders 文件夹中 import scrapy class MySpider(scrapy.Spider): # Spider 的名称,必须是唯一的 name = 'example_spider' # 允许爬取的域名列表(可选) # allowed_domains = ['example.com'] # 起始 URL 列表 start_urls = [ 'http://example.com/', ] def parse(self, response): # 这个方法用于处理每个响应 # 例如,我们可以提取网页的标题 title = response.css('title::text').get() if title: # 打印标题(在控制台输出) print(f'Title: {title}') # 你还可以继续爬取页面中的其他链接,这里只是简单示例 # 例如,提取所有链接并请求它们 # for href in response.css('a::attr(href)').getall(): # yield scrapy.Request(url=response.urljoin(href), callback=self.parse) # 注意:上面的代码只是一个 Spider 类的定义。 # 要运行这个 Spider,你需要将它放在一个 Scrapy 项目中,并使用 scrapy crawl 命令来启动爬虫。 # 例如,如果你的 Scrapy 项目名为 myproject,并且你的 Spider 文件名为 my_spider.py, # 那么你应该在项目根目录下运行以下命令: # scrapy crawl example_spider</code></pre><h1 class="pgc-h-arrow-right" data-track="15">3. Selenium</h1><p data-track="16"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">Selenium 是一款基于浏览器地自动化程序库,可以抓取网页数据。它能在 JavaScript 渲染的网页上高效运行,这在其他 Python 库中并不多见。</span></p><p data-track="17"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">在开始使用 Python 处理 Selenium 之前,需要先使用 Selenium Web 驱动程序创建功能测试用例。</span></p><p data-track="18"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">Selenium 库能很好地与任何浏览器(如 Firefox、Chrome、IE 等)配合进行测试,比如表单提交、自动登录、数据添加/删除和警报处理等。</span></p><pre class="prism-highlight prism-language-bash" class="syl-page-code"><code>from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 设置WebDriver的路径(根据你的系统路径和WebDriver版本修改) driver_path = '/path/to/your/chromedriver' # 初始化WebDriver driver = webdriver.Chrome(executable_path=driver_path) try: # 打开网页 driver.get('https://www.example.com') # 等待页面加载完成(这里使用隐式等待,针对所有元素) # 注意:隐式等待可能会影响性能,通常在脚本开始时设置一次 driver.implicitly_wait(10) # 秒 # 查找并输入文本到搜索框(假设搜索框有一个特定的ID或类名等) # 这里以ID为'search'的输入框为例 search_box = driver.find_element(By.ID, 'search') search_box.send_keys('Selenium WebDriver') # 提交搜索(假设搜索按钮是一个类型为submit的按钮或是一个可以点击的输入框) # 如果搜索是通过按Enter键触发的,可以直接在search_box上使用send_keys(Keys.ENTER) # 这里假设有一个ID为'submit'的按钮 submit_button = driver.find_element(By.ID, 'submit') submit_button.click() # 等待搜索结果加载完成(这里使用显式等待作为示例) # 假设搜索结果页面有一个特定的元素,我们等待它出现 wait = WebDriverWait(driver, 10) # 等待最多10秒 element = wait.until(EC.presence_of_element_located((By.ID, 'results'))) # 执行其他操作... finally: # 关闭浏览器 driver.quit()</code></pre><h1 class="pgc-h-arrow-right" data-track="20">4. requests</h1><p data-track="21"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">不用多说,requests 是 Python 中一个非常流行的第三方库,用于发送各种 HTTP 请求。它简化了 HTTP 请求的发送过程,使得从网页获取数据变得非常简单和直观。</span></p><p data-track="22"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">requests 库提供了丰富的功能和灵活性,支持多种请求类型(如 GET、POST、PUT、DELETE 等),可以发送带有参数、头信息、文件等的请求,并且能够处理复杂的响应内容(如 JSON、XML 等)。</span></p><pre class="prism-highlight prism-language-bash" class="syl-page-code"><code>import requests # 目标URL url = 'https://httpbin.org/get' # 发送GET请求 response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: # 打印响应内容 print(response.text) else: # 打印错误信息 print(f'请求失败,状态码:{response.status_code}')</code></pre><h1 class="pgc-h-arrow-right" data-track="24">5. urllib3</h1><p data-track="25"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">urllib3 是 Python内置网页请求库,类似于 Python 中的requests库,主要用于发送HTTP请求和处理HTTP响应。它建立在Python标准库的urllib模块之上,但提供了更高级别、更健壮的API。</span></p><p data-track="26"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">urllib3可以用于处理简单身份验证、cookie 和代理等复杂任务。</span></p><pre class="prism-highlight prism-language-bash" class="syl-page-code"><code>import urllib3 # 创建一个HTTP连接池 http = urllib3.PoolManager() # 目标URL url = 'https://httpbin.org/get' # 使用连接池发送GET请求 response = http.request('GET', url) # 检查响应状态码 if response.status == 200: # 打印响应内容(注意:urllib3默认返回的是bytes类型,这里我们将其解码为str) print(response.data.decode('utf-8')) else: # 如果响应状态码不是200,则打印错误信息 print(f'请求失败,状态码:{response.status}') # 注意:urllib3没有直接的方法来处理JSON响应,但你可以使用json模块来解析 # 如果响应内容是JSON,你可以这样做: # import json # json_response = json.loads(response.data.decode('utf-8')) # print(json_response)</code></pre><h1 class="pgc-h-arrow-right" data-track="28">6. lxml</h1><p data-track="29"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">lxml是一个功能强大且高效的Python库,主要用于处理XML和HTML文档。它提供了丰富的API,使得开发者可以轻松地读取、解析、创建和修改XML和HTML文档。</span></p><pre class="prism-highlight prism-language-bash" class="syl-page-code"><code>from lxml import etree # 假设我们有一段HTML或XML内容,这里以HTML为例 html_content = """ <html> <head> <title>示例页面

欢迎来到我的网站

这是一个使用lxml解析的示例页面。

  • 项目1
  • 项目2
""" # 使用lxml的etree模块来解析HTML或XML字符串 # 注意:对于HTML内容,我们使用HTMLParser解析器 parser = etree.HTMLParser() tree = etree.fromstring(html_content, parser=parser) # 查找并打印标签的文本 title = tree.find('.//title').text print("页面标题:", title) # 查找并打印class为"description"的<p>标签的文本 description = tree.find('.//p[@class="description"]').text print("页面描述:", description) # 查找所有的<li>标签,并打印它们的文本 for li in tree.findall('.//li'): print("列表项:", li.text) # 注意:lxml也支持XPath表达式来查找元素,这里只是简单展示了find和findall的用法 # XPath提供了更强大的查询能力</code></pre><h1 class="pgc-h-arrow-right" data-track="31">其他爬虫工具</h1><p data-track="32"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">除了Python库之外,还有其他爬虫工具可以使用。</span></p><h1 class="pgc-h-arrow-right" data-track="33">八爪鱼爬虫</h1><p data-track="34"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">八爪鱼爬虫是一款功能强大的桌面端爬虫软件,主打可视化操作,即使是没有任何编程基础的用户也能轻松上手。</span></p><p data-track="35"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">官网下载:<a class="pgc-link" data-content="mp" data-source="outerLink" href="https://affiliate.bazhuayu.com/hEvPKU" rel="noopener noreferrer noopener noreferrer" target="_blank">「链接」</a></span></p><p data-track="36"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">八爪鱼支持多种数据类型采集,包括文本、图片、表格等,并提供强大的自定义功能,能够满足不同用户需求。此外,八爪鱼爬虫支持将采集到的数据导出为多种格式,方便后续分析处理。</span></p><h1 class="pgc-h-arrow-right" data-track="37">亮数据爬虫</h1><p data-track="38"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">亮数据平台提供了强大的数据采集工具,比如Web Scraper IDE、亮数据浏览器、SERP API等,能够自动化地从网站上抓取所需数据,无需分析目标平台的接口,直接使用亮数据提供的方案即可安全稳定地获取数据。</span></p><p data-track="39"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">网站使用:<a class="pgc-link" data-content="mp" data-source="outerLink" href="https://get.brightdata.com/weijun" rel="noopener noreferrer noopener noreferrer" target="_blank">「链接」</a></span></p><p data-track="40"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">亮数据浏览器支持对多个网页进行批量数据抓取,适用于需要JavaScript渲染的页面或需要进行网页交互的场景。</span></p><h1 class="pgc-h-arrow-right" data-track="41">Web Scraper</h1><p data-track="42"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">Web Scraper是一款轻便易用的浏览器扩展插件,用户无需安装额外的软件,即可在Chrome浏览器中进行爬虫。插件支持多种数据类型采集,并可将采集到的数据导出为多种格式。</span></p><p data-track="43"><span style="color: #191B1F; --tt-darkmode-color: #A0A3A9;">无论是Python库还是爬虫软件,都能实现数据采集任务,可以选择适合自己的。当然记得在使用这些工具时,一定要遵守相关网站的爬虫政策和法律法规。</span></p></div> <div class="clearfix mb10"> <div class="share fr"> <div class="social-share mb20 ta-c" data-initialized="true"> <a href="#" class="social-share-icon iconfont icon-weibo"></a> <a href="#" class="social-share-icon iconfont icon-qq"></a> <a href="#" class="social-share-icon iconfont icon-wechat"></a> <a href="#" class="social-share-icon iconfont icon-qzone"></a> </div> <script src="http://www.zhezhongyun.com/zb_users/theme/tx_hao/script/social-share.min.js"></script> </div> <div class="info-tag"> <a href="http://www.zhezhongyun.com/tags-135.html" title="查看更多HTML5 标签内容" rel="tag" target="_blank">HTML5 标签</a> </div> </div> <div class="info-next"> <ul class="row"> <li class="col-12 col-m-24 mb10">上一篇:<a href="http://www.zhezhongyun.com/post/2022.html" title="常见的Web实时消息交互方式和SignalR">常见的Web实时消息交互方式和SignalR</a></li> <li class="col-12 col-m-24 ta-r mb10">下一篇:<a href="http://www.zhezhongyun.com/post/2024.html" title="你没有看错,爬网页数据,C# 也可以像 Jquery 那样">你没有看错,爬网页数据,C# 也可以像 Jquery 那样</a></li> </ul> </div> </div> <h2 class="tx-title">相关推荐</h2> <div class="home-news"> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4686.html" title="怎样设置EditText内部文字被锁定不可删除和修改" class="f-black" target="_blank">怎样设置EditText内部文字被锁定不可删除和修改</a></dt> <dd class="news-txt"> <p class="f-gray f-13">在做项目的时候,我曾经遇到过这样的要求,就是跟百度贴吧客户端上的一样,在回复帖子的时候,在EditText中显示回复人的名字,而且这个名字不可以修改和删除,说白了就是不可操作,只能在后面输入内容。在E...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4685.html" title="iOS的布局体系-流式布局MyFlowLayout" class="f-black" target="_blank">iOS的布局体系-流式布局MyFlowLayout</a></dt> <dd class="news-txt"> <p class="f-gray f-13">iOS布局体系的概览在我的CSDN博客中的几篇文章分别介绍MyLayout布局体系中的视图从一个方向依次排列的线性布局(MyLinearLayout)、视图层叠且停靠于父布局视图某个位置的框架布局(M...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4684.html" title="浏览器滚动条hover时变粗、改变颜色" class="f-black" target="_blank">浏览器滚动条hover时变粗、改变颜色</a></dt> <dd class="news-txt"> <p class="f-gray f-13">今天应UED的要求对项目的滚动条进行美化,原生的滚动条虽然很实用,但确实不美观。用了一些css美化后::-webkit-scrollbar{height:9px;width:9...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4683.html" title="QML控件类型:ComboBox、Control(qml buttongroup)" class="f-black" target="_blank">QML控件类型:ComboBox、Control(qml buttongroup)</a></dt> <dd class="news-txt"> <p class="f-gray f-13">Control一、描述Control是所有控件通用功能的抽象基类型。它从窗口系统接收输入事件,并在屏幕上绘制自身。二、控件布局控件的implicitWidth和implicitHeight通...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4682.html" title="学习CSS布局:简单表格布局代码示例" class="f-black" target="_blank">学习CSS布局:简单表格布局代码示例</a></dt> <dd class="news-txt"> <p class="f-gray f-13">性能优化-学习CSS布局:简单表格布局代码示例CSS是现代Web设计和开发的必备技能之一。而表格布局是Web页面中常用的布局之一,用于展示数据和信息。在这篇文章中,我们将介绍如何使用CSS创建一个简单...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4681.html" title="UE5之UMG基础第1篇:统一网格面板(ue5 新功能)" class="f-black" target="_blank">UE5之UMG基础第1篇:统一网格面板(ue5 新功能)</a></dt> <dd class="news-txt"> <p class="f-gray f-13">目标:记录和学习UE5的UMG方法制作UI,使用UniformGridPanel制作效果如下:步骤1.增加前言:UniformGridPanel统一网格面板,就是所有子元素大小和间隔等统一,这种效果...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4680.html" title="JS的 DOM 尺寸与位置属性(js设置dom属性)" class="f-black" target="_blank">JS的 DOM 尺寸与位置属性(js设置dom属性)</a></dt> <dd class="news-txt"> <p class="f-gray f-13">#头条深一度-深度阅读计划#在JavaScript开发中,操作DOM元素的尺寸和位置是常见的任务,尤其是在实现动画、布局调整或响应式设计时。本文将全面解析JavaScript中与DOM...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4679.html" title="SpriteJS:图形库造轮子的那些事儿" class="f-black" target="_blank">SpriteJS:图形库造轮子的那些事儿</a></dt> <dd class="news-txt"> <p class="f-gray f-13">从2017年到2020年,我花了大约4年的时间,从零到一,实现了一个可切换WebGL和Canvas2D渲染的,跨平台支持浏览器、SSR、小程序,基于DOM结构和支持响应式的,高...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4678.html" title="理解CSS中的百分比单位:相对尺寸的核心规则" class="f-black" target="_blank">理解CSS中的百分比单位:相对尺寸的核心规则</a></dt> <dd class="news-txt"> <p class="f-gray f-13">在CSS中,百分比(`%`)是一种灵活且强大的相对单位,但其具体行为常让开发者感到困惑。本文将深入解析百分比单位的计算规则,帮助你彻底掌握其背后的逻辑。一、百分比的核心:参考系(包含块)百分比的值始...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4677.html" title="36个工作中常用的JavaScript函数片段「值得收藏」" class="f-black" target="_blank">36个工作中常用的JavaScript函数片段「值得收藏」</a></dt> <dd class="news-txt"> <p class="f-gray f-13">作者:Eno_Yao转发链接:https://segmentfault.com/a/1190000022623676前言如果文章和笔记能带您一丝帮助或者启发,请不要吝啬你的赞和收藏,你的肯定是我前进的...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4676.html" title="如何使用css完成视差滚动效果?(css 视距)" class="f-black" target="_blank">如何使用css完成视差滚动效果?(css 视距)</a></dt> <dd class="news-txt"> <p class="f-gray f-13">视差滚动(ParallaxScrolling)是指多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验我们可以把网页解刨成:背景层、内容层、悬浮层使用css形式实现视觉差滚动效果的方...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4675.html" title="vant-List 列表(vant select)" class="f-black" target="_blank">vant-List 列表(vant select)</a></dt> <dd class="news-txt"> <p class="f-gray f-13">引入importVuefrom'vue';import{List}from'vant';Vue.use(List);基础用法List组件通过lo...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4674.html" title="Vue3问题:如何使用WangEditor富文本?能自定义才是真的会用!" class="f-black" target="_blank">Vue3问题:如何使用WangEditor富文本?能自定义才是真的会用!</a></dt> <dd class="news-txt"> <p class="f-gray f-13">笔者|大澈大家好,我是大澈!今天的问题,来自于上周末问题留言的朋友嘻嘻哈哈。欢迎大家在周末的问题留言推文中,积极进行问题留言,把这周工作日遇到的问题,分享给大家瞧瞧,或者直接进问答群,一起交流唠...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4673.html" title="微信小程序开发极简入门(二):样式,页面,数据" class="f-black" target="_blank">微信小程序开发极简入门(二):样式,页面,数据</a></dt> <dd class="news-txt"> <p class="f-gray f-13">前文:微信小程序开发极简入门(一)样式wxss:/**放在页面的wxss**/.scrollarea{flex:1;overflow-y:hidden;}.idx_view{...</p> </dd> </dl> <dl class="news-box clearfix pd20 "> <dt class="f-18 mb10"><a href="http://www.zhezhongyun.com/post/4672.html" title="AI+Code驱动的M站首页重构实践:从技术债务到智能化开发" class="f-black" target="_blank">AI+Code驱动的M站首页重构实践:从技术债务到智能化开发</a></dt> <dd class="news-txt"> <p class="f-gray f-13">本文分享了阿里巴巴找品M站首页重构项目中AI+Code提效的实践经验。面对M站技术栈陈旧、开发效率低下的挑战,我们通过楼层动态化架构重构和AI智能脚手架,实现了70%首页场景的标准化覆盖+30%的...</p> </dd> </dl> </div> </div> <div class="side-box col-6 col-m-24 col2-"> <dl class="side-hot"> <dt>一周热门</dt> <dd> <ul> <li> <a href="http://www.zhezhongyun.com/post/513.html" title="b端详情页:各种信息聚集地,设计师要如何规划这一亩三分地呢" target="_blank"> <h2 class="f-15">b端详情页:各种信息聚集地,设计师要如何规划这一亩三分地呢</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1123.html" title="漏洞系列一一看我一招征服漏洞 SSRF" target="_blank"> <h2 class="f-15">漏洞系列一一看我一招征服漏洞 SSRF</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1118.html" title="接口测试遇到500报错?别慌,你的头部可能有点问题" target="_blank"> <h2 class="f-15">接口测试遇到500报错?别慌,你的头部可能有点问题</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1120.html" title="Web前端需要学什么?Web前端开发需要学习哪些?" target="_blank"> <h2 class="f-15">Web前端需要学什么?Web前端开发需要学习哪些?</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1689.html" title="前端Flex布局可视化布局工具介绍,vue和html5快速设计利器" target="_blank"> <h2 class="f-15">前端Flex布局可视化布局工具介绍,vue和html5快速设计利器</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1140.html" title="「资讯」为强迫用户使用Edge浏览器,微软又出新招数" target="_blank"> <h2 class="f-15">「资讯」为强迫用户使用Edge浏览器,微软又出新招数</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1682.html" title="HTML 简介(html简介及优缺点)" target="_blank"> <h2 class="f-15">HTML 简介(html简介及优缺点)</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1242.html" title="HBuilderX,uni-app创建HTML5项目,同时支持浏览器和移动端" target="_blank"> <h2 class="f-15">HBuilderX,uni-app创建HTML5项目,同时支持浏览器和移动端</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1684.html" title="关于HTML5被简称做H5,你怎么看?(html5缩写)" target="_blank"> <h2 class="f-15">关于HTML5被简称做H5,你怎么看?(html5缩写)</h2> </a> </li> <li> <a href="http://www.zhezhongyun.com/post/1499.html" title="现在页面实时聊天都使用Websocket技术实现吗?" target="_blank"> <h2 class="f-15">现在页面实时聊天都使用Websocket技术实现吗?</h2> </a> </li> </ul> </dd> </dl> <dl class="function" id="divPrevious"> <dt class="function_t">最近发表</dt><dd class="function_c"> <ul><li><a title="怎样设置EditText内部文字被锁定不可删除和修改" href="http://www.zhezhongyun.com/post/4686.html">怎样设置EditText内部文字被锁定不可删除和修改</a></li> <li><a title="iOS的布局体系-流式布局MyFlowLayout" href="http://www.zhezhongyun.com/post/4685.html">iOS的布局体系-流式布局MyFlowLayout</a></li> <li><a title="浏览器滚动条hover时变粗、改变颜色" href="http://www.zhezhongyun.com/post/4684.html">浏览器滚动条hover时变粗、改变颜色</a></li> <li><a title="QML控件类型:ComboBox、Control(qml buttongroup)" href="http://www.zhezhongyun.com/post/4683.html">QML控件类型:ComboBox、Control(qml buttongroup)</a></li> <li><a title="学习CSS布局:简单表格布局代码示例" href="http://www.zhezhongyun.com/post/4682.html">学习CSS布局:简单表格布局代码示例</a></li> <li><a title="UE5之UMG基础第1篇:统一网格面板(ue5 新功能)" href="http://www.zhezhongyun.com/post/4681.html">UE5之UMG基础第1篇:统一网格面板(ue5 新功能)</a></li> <li><a title="JS的 DOM 尺寸与位置属性(js设置dom属性)" href="http://www.zhezhongyun.com/post/4680.html">JS的 DOM 尺寸与位置属性(js设置dom属性)</a></li> <li><a title="SpriteJS:图形库造轮子的那些事儿" href="http://www.zhezhongyun.com/post/4679.html">SpriteJS:图形库造轮子的那些事儿</a></li> <li><a title="理解CSS中的百分比单位:相对尺寸的核心规则" href="http://www.zhezhongyun.com/post/4678.html">理解CSS中的百分比单位:相对尺寸的核心规则</a></li> <li><a title="36个工作中常用的JavaScript函数片段「值得收藏」" href="http://www.zhezhongyun.com/post/4677.html">36个工作中常用的JavaScript函数片段「值得收藏」</a></li> </ul> </dd> </dl> <dl class="function" id="divTags"> <dt class="function_t">标签列表</dt><dd class="function_c"> <ul><li><a title="HTML 教程" href="http://www.zhezhongyun.com/tags-1.html">HTML 教程<span class="tag-count"> (33)</span></a></li> <li><a title="HTML 简介" href="http://www.zhezhongyun.com/tags-3.html">HTML 简介<span class="tag-count"> (35)</span></a></li> <li><a title="HTML 实例/测验" href="http://www.zhezhongyun.com/tags-46.html">HTML 实例/测验<span class="tag-count"> (32)</span></a></li> <li><a title="HTML 测验" href="http://www.zhezhongyun.com/tags-47.html">HTML 测验<span class="tag-count"> (32)</span></a></li> <li><a title="JavaScript 和 HTML DOM 参考手册" href="http://www.zhezhongyun.com/tags-54.html">JavaScript 和 HTML DOM 参考手册<span class="tag-count"> (32)</span></a></li> <li><a title="HTML 拓展阅读" href="http://www.zhezhongyun.com/tags-55.html">HTML 拓展阅读<span class="tag-count"> (30)</span></a></li> <li><a title="HTML文本框样式" href="http://www.zhezhongyun.com/tags-60.html">HTML文本框样式<span class="tag-count"> (31)</span></a></li> <li><a title="HTML滚动条样式" href="http://www.zhezhongyun.com/tags-61.html">HTML滚动条样式<span class="tag-count"> (34)</span></a></li> <li><a title="HTML5 浏览器支持" href="http://www.zhezhongyun.com/tags-113.html">HTML5 浏览器支持<span class="tag-count"> (33)</span></a></li> <li><a title="HTML5 新元素" href="http://www.zhezhongyun.com/tags-114.html">HTML5 新元素<span class="tag-count"> (33)</span></a></li> <li><a title="HTML5 WebSocket" href="http://www.zhezhongyun.com/tags-131.html">HTML5 WebSocket<span class="tag-count"> (30)</span></a></li> <li><a title="HTML5 代码规范" href="http://www.zhezhongyun.com/tags-132.html">HTML5 代码规范<span class="tag-count"> (32)</span></a></li> <li><a title="HTML5 标签" href="http://www.zhezhongyun.com/tags-135.html">HTML5 标签<span class="tag-count"> (717)</span></a></li> <li><a title="HTML5 标签 (已废弃)" href="http://www.zhezhongyun.com/tags-137.html">HTML5 标签 (已废弃)<span class="tag-count"> (75)</span></a></li> <li><a title="HTML5电子书" href="http://www.zhezhongyun.com/tags-141.html">HTML5电子书<span class="tag-count"> (32)</span></a></li> <li><a title="HTML5开发工具" href="http://www.zhezhongyun.com/tags-142.html">HTML5开发工具<span class="tag-count"> (34)</span></a></li> <li><a title="HTML5小游戏源码" href="http://www.zhezhongyun.com/tags-143.html">HTML5小游戏源码<span class="tag-count"> (34)</span></a></li> <li><a title="HTML5模板下载" href="http://www.zhezhongyun.com/tags-144.html">HTML5模板下载<span class="tag-count"> (30)</span></a></li> <li><a title="HTTP 状态消息" href="http://www.zhezhongyun.com/tags-159.html">HTTP 状态消息<span class="tag-count"> (33)</span></a></li> <li><a title="HTTP 方法:GET 对比 POST" href="http://www.zhezhongyun.com/tags-160.html">HTTP 方法:GET 对比 POST<span class="tag-count"> (33)</span></a></li> <li><a title="键盘快捷键" href="http://www.zhezhongyun.com/tags-168.html">键盘快捷键<span class="tag-count"> (35)</span></a></li> <li><a title="标签" href="http://www.zhezhongyun.com/tags-171.html">标签<span class="tag-count"> (226)</span></a></li> <li><a title="HTML button formtarget 属性" href="http://www.zhezhongyun.com/tags-218.html">HTML button formtarget 属性<span class="tag-count"> (30)</span></a></li> <li><a title="CSS 水平对齐 (Horizontal Align)" href="http://www.zhezhongyun.com/tags-260.html">CSS 水平对齐 (Horizontal Align)<span class="tag-count"> (30)</span></a></li> <li><a title="opacity 属性" href="http://www.zhezhongyun.com/tags-319.html">opacity 属性<span class="tag-count"> (32)</span></a></li> </ul> </dd> </dl> </div> </div> </div> </div> <div class="footer"> <div class="wide ta-c f-12"> </div> </div> <div class="fixed-box "> <ul> <li class="pchide wapflex"><a href="http://www.zhezhongyun.com/"><i class="fa fa-home"></i> 首页</a></li> <li><a href="http://www.zhezhongyun.com/shoulu.html" title="收录申请" target="_blank"><i class="fa fa-chain-broken mr5"></i>收录</a></li> <li><span class="gotop"><i class="fa fa-caret-up mr5"></i> 顶部</span></li> </ul> </div> <script src="http://www.zhezhongyun.com/zb_users/theme/tx_hao/script/txcstx.min.js?v=2024-12-04"></script> </body> </html><!--136.14 ms , 13 queries , 3669kb memory , 0 error-->