python爬虫需要掌握的HTML基础知识!

HTML 简介

  • HTML 教程
  • HTML 编辑器

实例




我的第一个标题

我的第一个段落。

什么是 HTML?

HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

HTML 标签

HTML 标记标签通常被称为 HTML 标签 (HTML tag)。

  • HTML 标签是由尖括号包围的关键词,比如
  • HTML 标签通常是成对出现的,比如
  • 标签对中的第一个标签是开始标签,第二个标签是结束标签
  • 开始和结束标签也被称为开放标签闭合标签

HTML 文档 = 网页

  • HTML 文档描述网页
  • HTML 文档包含 HTML 标签和纯文本
  • HTML 文档也被称为网页

Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容:




我的第一个标题

我的第一个段落。

例子解释

  • 与 之间的文本描述网页
  • 与 之间的文本是可见的页面内容
  • 之间的文本被显示为标题
  • 之间的文本被显示为段落

HTML 编辑器

HTML 简介

HTML 基础

使用 Notepad 或 TextEdit 来编写 HTML

可以使用专业的 HTML 编辑器来编辑 HTML:

Adobe Dreamweaver

  • Microsoft Expression Web
  • CoffeeCup HTML Editor
  • 不过,我们同时推荐使用文本编辑器来学习 HTML,比如 Notepad (PC) 或 TextEdit (Mac)。我们相信,使用一款简单的文本编辑器是学习 HTML 的好方法。

    通过记事本,依照以下四步来创建您的第一张网页。

    步骤一:启动记事本

    如何启动记事本:

    开始
        所有程序
            附件
                记事本

    步骤二:用记事本来编辑 HTML

    在记事本中键入 HTML 代码:

    python爬虫需要掌握的HTML基础知识!_第1张图片

    步骤三:保存 HTML

    在记事本的文件菜单选择“另存为”。

    当您保存 HTML 文件时,既可以使用 .htm 也可以使用 .html 扩展名。两者没有区别,完全根据您的喜好。

    在一个容易记忆的文件夹中保存这个文件,比如 w3school。

    步骤四:在浏览器中运行这个 HTML 文件

    启动您的浏览器,然后选择“文件”菜单的“打开文件”命令,或者直接在文件夹中双击您的 HTML 文件。

    结果应该类似这样:

    python爬虫需要掌握的HTML基础知识!_第2张图片

基本的 HTML 标签 - 四个实例

  • HTML 编辑器
  • HTML 元素

本章通过实例向您演示最常用的 HTML 标签。

提示:不要担心本章中您还没有学过的例子,您将在下面的章节中学到它们。

提示:学习 HTML 最好的方式就是边学边做实验。我们为您准备了很好的 HTML 编辑器。使用这个编辑器,您可以任意编辑一段 HTML 源码,然后单击 TIY 按钮来查看结果。

HTML 标题

HTML 标题(Heading)是通过

-

等标签进行定义的。

实例

This is a heading

This is a heading

This is a heading

HTML 段落

HTML 段落是通过

标签进行定义的。

实例

This is a paragraph.

This is another paragraph.

HTML 链接

HTML 链接是通过 标签进行定义的。

实例

This is a link

注释:在 href 属性中指定链接的地址。

(您将在本教程稍后的章节中学习更多有关属性的知识)。

HTML 图像

HTML 图像是通过 标签进行定义的。

实例

 

注释:图像的名称和尺寸是以属性的形式提供的。

HTML 元素

  • HTML 基础
  • HTML 属性

HTML 文档是由 HTML 元素定义的。

HTML 元素

HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。

开始标签 元素内容 结束标签

This is a paragraph

This is a link

   

注释:开始标签常被称为开放标签(opening tag),结束标签常称为闭合标签(closing tag)。

HTML 元素语法

  • HTML 元素以开始标签起始
  • HTML 元素以结束标签终止
  • 元素的内容是开始标签与结束标签之间的内容
  • 某些 HTML 元素具有空内容(empty content)
  • 空元素在开始标签中进行关闭(以开始标签的结束而结束)
  • 大多数 HTML 元素可拥有属性

提示:您将在本教程的下一章中学习更多有关属性的内容。

嵌套的 HTML 元素

大多数 HTML 元素可以嵌套(可以包含其他 HTML 元素)。

HTML 文档由嵌套的 HTML 元素构成。

HTML 文档实例




This is my first paragraph.

上面的例子包含三个 HTML 元素。

HTML 实例解释

元素:

This is my first paragraph.

这个

元素定义了 HTML 文档中的一个段落。

这个元素拥有一个开始标签

,以及一个结束标签

元素内容是:This is my first paragraph。

元素:


This is my first paragraph.

元素定义了 HTML 文档的主体。

这个元素拥有一个开始标签 ,以及一个结束标签 。

元素内容是另一个 HTML 元素(p 元素)。

元素:




This is my first paragraph.

元素定义了整个 HTML 文档。

这个元素拥有一个开始标签 ,以及一个结束标签 。

元素内容是另一个 HTML 元素(body 元素)。

不要忘记结束标签

即使您忘记了使用结束标签,大多数浏览器也会正确地显示 HTML:

This is a paragraph

This is a paragraph

上面的例子在大多数浏览器中都没问题,但不要依赖这种做法。忘记使用结束标签会产生不可预料的结果或错误。

注释:未来的 HTML 版本不允许省略结束标签。

空的 HTML 元素

没有内容的 HTML 元素被称为空元素。空元素是在开始标签中关闭的。


就是没有关闭标签的空元素(
标签定义换行)。

在 XHTML、XML 以及未来版本的 HTML 中,所有元素都必须被关闭。

在开始标签中添加斜杠,比如
,是关闭空元素的正确方法,HTML、XHTML 和 XML 都接受这种方式。

即使
在所有浏览器中都是有效的,但使用
其实是更长远的保障。

HTML 提示:使用小写标签

HTML 标签对大小写不敏感:

等同于

。许多网站都使用大写的 HTML 标签。

W3School 使用的是小写标签,因为万维网联盟(W3C)在 HTML 4 中推荐使用小写,而在未来 (X)HTML 版本中强制使用小写。

HTML 属性

  • HTML 元素
  • HTML 标题

属性为 HTML 元素提供附加信息。

HTML 属性

HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息

属性总是以名称/值对的形式出现,比如:name="value"

属性总是在 HTML 元素的开始标签中规定。

属性实例

HTML 链接由 标签定义。链接的地址在 href 属性中指定:

This is a link

更多 HTML 属性实例

属性例子 1:

定义标题的开始。

拥有关于对齐方式的附加信息。

TIY : 居中排列标题

属性例子 2:

定义 HTML 文档的主体。

拥有关于背景颜色的附加信息。

TIY : 背景颜色

属性例子 3:

定义 HTML 表格。(您将在稍后的章节学习到更多有关 HTML 表格的内容)

拥有关于表格边框的附加信息。

HTML 提示:使用小写属性

属性和属性值对大小写不敏感

不过,万维网联盟在其 HTML 4 推荐标准中推荐小写的属性/属性值。

而新版本的 (X)HTML 要求使用小写属性。

始终为属性值加引号

属性值应该始终被包括在引号内。双引号是最常用的,不过使用单引号也没有问题。

在某些个别的情况下,比如属性值本身就含有双引号,那么您必须使用单引号,例如:

name='Bill "HelloWorld" Gates'

HTML 属性参考手册

我们的完整的 HTML 参考手册提供了每个 HTML 元素可使用的合法属性的完整列表:

 

下面列出了适用于大多数 HTML 元素的属性:

属性 描述
class classname 规定元素的类名(classname)
id id 规定元素的唯一 id
style style_definition 规定元素的行内样式(inline style)
title text 规定元素的额外信息(可在工具提示中显示)

如需更多关于标准属性的信息,请访问:

HTML 标题

  • HTML 属性
  • HTML 段落

在 HTML 文档中,标题很重要。

HTML 标题

标题(Heading)是通过

-

等标签进行定义的。

定义最大的标题。

定义最小的标题。

实例

This is a heading

This is a heading

This is a heading

注释:浏览器会自动地在标题的前后添加空行。

注释:默认情况下,HTML 会自动地在块级元素前后添加一个额外的空行,比如段落、标题元素前后。

标题很重要

请确保将 HTML heading 标签只用于标题。不要仅仅是为了产生粗体或大号的文本而使用标题。

搜索引擎使用标题为您的网页的结构和内容编制索引。

因为用户可以通过标题来快速浏览您的网页,所以用标题来呈现文档结构是很重要的。

应该将 h1 用作主标题(最重要的),其后是 h2(次重要的),再其次是 h3,以此类推。

HTML 水平线


标签在 HTML 页面中创建水平线。

hr 元素可用于分隔内容。

实例

This is a paragraph


This is a paragraph


This is a paragraph

提示:使用水平线 (


标签) 来分隔文章中的小节是一个办法(但并不是唯一的办法)。

HTML 注释

可以将注释插入 HTML 代码中,这样可以提高其可读性,使代码更易被人理解。浏览器会忽略注释,也不会显示它们。

注释是这样写的:

实例

注释:开始括号之后(左边的括号)需要紧跟一个叹号,结束括号之前(右边的括号)不需要。

提示:合理地使用注释可以对未来的代码编辑工作产生帮助。

HTML 提示 - 如何查看源代码

您一定曾经在看到某个网页时惊叹道 “WOW! 这是如何实现的?”

如果您想找到其中的奥秘,只需要单击右键,然后选择“查看源文件”(IE)或“查看页面源代码”(Firefox),其他浏览器的做法也是类似的。这么做会打开一个包含页面 HTML 代码的窗口。

来自本页的实例

标题

如何在 HTML 文档中显示标题。

隐藏的注释

如何在 HTML 源代码中插入注释。

水平线

如何插入水平线。

HTML 标签参考手册

W3School 的标签参考手册提供了有关这些标题及其属性的更多信息。

您将在本教程下面的章节中学到更多有关 HTML 标签和属性的知识。

标签 描述
定义 HTML 文档。
定义文档的主体。

to

定义 HTML 标题

定义水平线。
定义注释。

HTML 段落

  • HTML 标题
  • HTML 样式

可以把 HTML 文档分割为若干段落。

HTML 段落

段落是通过

标签定义的。

实例

This is a paragraph

This is another paragraph

注释:浏览器会自动地在段落的前后添加空行。(

是块级元素)

提示:使用空的段落标记

去插入一个空行是个坏习惯。用
标签代替它!(但是不要用
标签去创建列表。不要着急,您将在稍后的篇幅学习到 HTML 列表。)

不要忘记结束标签

即使忘了使用结束标签,大多数浏览器也会正确地将 HTML 显示出来:

实例

This is a paragraph

This is another paragraph

上面的例子在大多数浏览器中都没问题,但不要依赖这种做法。忘记使用结束标签会产生意想不到的结果和错误。

注释:在未来的 HTML 版本中,不允许省略结束标签。

提示:通过结束标签来关闭 HTML 是一种经得起未来考验的 HTML 编写方法。清楚地标记某个元素在何处开始,并在何处结束,不论对您还是对浏览器来说,都会使代码更容易理解。

HTML 折行

如果您希望在不产生一个新段落的情况下进行换行(新行),请使用
标签:

This is
a para
graph with line breaks


元素是一个空的 HTML 元素。由于关闭标签没有任何意义,因此它没有结束标签。


还是

您也许发现

很相似。

在 XHTML、XML 以及未来的 HTML 版本中,不允许使用没有结束标签(闭合标签)的 HTML 元素。

即使
在所有浏览器中的显示都没有问题,使用
也是更长远的保障

HTML 输出 - 有用的提示

我们无法确定 HTML 被显示的确切效果。屏幕的大小,以及对窗口的调整都可能导致不同的结果。

对于 HTML,您无法通过在 HTML 代码中添加额外的空格或换行来改变输出的效果。

当显示页面时,浏览器会移除源代码中多余的空格和空行。所有连续的空格或空行都会被算作一个空格。需要注意的是,HTML 代码中的所有连续的空行(换行)也被显示为一个空格。

(这个例子演示了一些 HTML 格式化方面的问题)

来自本页的实例

HTML 段落

如何在浏览器中显示 HTML 段落。

换行

在 HTML 文档中使用换行。

在 HTML 代码中的排版一首唐诗

浏览器在显示 HTML 时,会省略源代码中多余的空白字符(空格或回车等)。

更多实例

更多段落

段落的默认行为。

HTML 标签参考手册

W3School 的标签参考手册提供了有关 HTML 元素及其属性的更多信息。

标签 描述

定义段落。

插入单个折行(换行)。

HTML 样式

  • HTML 段落
  • HTML 格式化

style 属性用于改变 HTML 元素的样式。

This text is in Verdana and red

This text is in Times and blue

This text is 30 pixels high

HTML 的 style 属性

style 属性的作用:

提供了一种改变所有 HTML 元素的样式的通用方法。

样式是 HTML 4 引入的,它是一种新的首选的改变 HTML 元素样式的方式。通过 HTML 样式,能够通过使用 style 属性直接将样式添加到 HTML 元素,或者间接地在独立的样式表中(CSS 文件)进行定义。

您可以在我们的 CSS 教程中学习关于样式和 CSS 的所有知识。

在我们的 HTML 教程中,我们将使用 style 属性向您讲解 HTML 样式。

不赞成使用的标签和属性

在 HTML 4 中,有若干的标签和属性是被废弃的。被废弃(Deprecated)的意思是在未来版本的 HTML 和 XHTML 中将不支持这些标签和属性。

这里传达的信息很明确:请避免使用这些被废弃的标签和属性!

应该避免使用下面这些标签和属性:

标签 描述
定义居中的内容。
定义 HTML 字体。
定义删除线文本
定义下划线文本
属性 描述
align 定义文本的对齐方式
bgcolor 定义背景颜色
color 定义文本颜色

对于以上这些标签和属性:请使用样式代替!

HTML 样式实例 - 背景颜色

background-color 属性为元素定义了背景颜色:




This is a heading

This is a paragraph.

style 属性淘汰了“旧的” bgcolor 属性。

试一试:设置背景颜色的旧方法

HTML 样式实例 - 字体、颜色和尺寸

font-family、color 以及 font-size 属性分别定义元素中文本的字体系列、颜色和字体尺寸:




A heading

A paragraph.

style 属性淘汰了旧的 标签。

试一试:设置字体的旧方法

HTML 样式实例 - 文本对齐

text-align 属性规定了元素中文本的水平对齐方式:




This is a heading

The heading above is aligned to the center of this page.

style 属性淘汰了旧的 "align" 属性。

试一试:设置居中对齐的旧方法

 

HTML 文本格式化

  • HTML 样式
  • HTML 引用

HTML 可定义很多供格式化输出的元素,比如粗体和斜体字。

下面有很多例子,您可以亲自试试:

HTML 文本格式化实例

文本格式化

此例演示如何在一个 HTML 文件中对文本进行格式化

预格式文本

此例演示如何使用 pre 标签对空行和空格进行控制。

“计算机输出”标签

此例演示不同的“计算机输出”标签的显示效果。

地址

此例演示如何在 HTML 文件中写地址。

缩写和首字母缩写

此例演示如何实现缩写或首字母缩写。

文字方向

此例演示如何改变文字的方向。

块引用

此例演示如何实现长短不一的引用语。

删除字效果和插入字效果

此例演示如何标记删除文本和插入文本。

如何查看 HTML 源码

您是否有过这样的经历,当你看到一个很棒的站点,你会很想知道开发人员是如何将它实现的?

你有没有看过一些网页,并且想知道它是如何做出来的呢?

要揭示一个网站的技术秘密,其实很简单。单击浏览器的“查看”菜单,选择“查看源文件”即可。随后你会看到一个弹出的窗口,窗口内就是实际的 HTML 代码。

文本格式化标签

标签 描述
定义粗体文本。
定义大号字。
定义着重文字。
定义斜体字。
定义小号字。
定义加重语气。
定义下标字。
定义上标字。
定义插入字。
定义删除字。
不赞成使用。使用 代替。
不赞成使用。使用 代替。
不赞成使用。使用样式(style)代替。

“计算机输出”标签

标签 描述
定义计算机代码。
定义键盘码。
定义计算机代码样本。
定义打字机代码。
定义变量。
定义预格式文本。
不赞成使用。使用
 代替。
</td> <td><em>不赞成使用。</em>使用 <pre> 代替。</td> </tr> <tr> <td><xmp></td> <td><em>不赞成使用。</em>使用 <pre> 代替。</td> </tr> </tbody> </table> <h2>引用、引用和术语定义</h2> <table> <tbody> <tr> <th>标签</th> <th>描述</th> </tr> <tr> <td><abbr></td> <td>定义缩写。</td> </tr> <tr> <td><acronym></td> <td>定义首字母缩写。</td> </tr> <tr> <td><address></td> <td>定义地址。</td> </tr> <tr> <td><bdo></td> <td>定义文字方向。</td> </tr> <tr> <td><blockquote></td> <td>定义长的引用。</td> </tr> <tr> <td><q></td> <td>定义短的引用语。</td> </tr> <tr> <td><cite></td> <td>定义引用、引证。</td> </tr> <tr> <td><dfn></td> <td>定义一个定义项目。</td> </tr> </tbody> </table> <p> </p> <h1>HTML 引用</h1> <ul> <li>HTML 格式化</li> <li>HTML 计算机代码</li> </ul> <h2>引用(Quotation)</h2> <p>这是摘自 WWF 网站的引文:</p> <blockquote> 五十年来,WWF 一直致力于保护自然界的未来。 世界领先的环保组织,WWF 工作于 100 个国家,并得到美国一百二十万会员及全球近五百万会员的支持。 </blockquote> <h2>HTML <q> 用于短的引用</h2> <p>HTML <em><q></em> 元素定义<em>短的引用</em>。</p> <p>浏览器通常会为 <q> 元素包围<em>引号</em>。</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p>WWF 的目标是:<q>构建人与自然和谐共存的世界。</q></p> </code></pre> <h2>用于长引用的 HTML <blockquote></h2> <p>HTML <em><blockquote></em> 元素定义被引用的节。</p> <p>浏览器通常会对 <blockquote> 元素进行<em>缩进</em>处理。</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p>以下内容引用自 WWF 的网站:</p> <blockquote cite="http://www.worldwildlife.org/who/index.html"> 五十年来,WWF 一直致力于保护自然界的未来。 世界领先的环保组织,WWF 工作于 100 个国家, 并得到美国一百二十万会员及全球近五百万会员的支持。 </blockquote> </code></pre> <h2>用于缩略词的 HTML <abbr></h2> <p>HTML <em><abbr></em> 元素定义<em>缩写</em>或首字母缩略语。</p> <p>对缩写进行标记能够为浏览器、翻译系统以及搜索引擎提供有用的信息。</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p><abbr title="World Health Organization">WHO</abbr> 成立于 1948 年。</p> </code></pre> <h2>用于定义的 HTML <dfn></h2> <p>HTML <em><dfn></em> 元素定义项目或缩写的<em>定义</em>。</p> <p><dfn> 的用法,按照 HTML5 标准中的描述,有点复杂:</p> <p>1. 如果设置了 <dfn> 元素的 title 属性,则定义项目:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p><dfn title="World Health Organization">WHO</dfn> 成立于 1948 年。</p> </code></pre> <p>2. 如果 <dfn> 元素包含具有标题的 <abbr> 元素,则 title 定义项目:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p><dfn><abbr title="World Health Organization">WHO</abbr></dfn> 成立于 1948 年。</p> </code></pre> <p>3. 否则,<dfn> 文本内容即是项目,并且父元素包含定义。</p> <h3>实例</h3> <p>注释:如果您希望简而化之,请使用第一条,或使用 <abbr> 代替。</p> <h2>用于联系信息的 HTML <address></h2> <p>HTML <em><address></em> 元素定义文档或文章的联系信息(作者/拥有者)。</p> <p>此元素通常以<em>斜体</em>显示。大多数浏览器会在此元素前后添加折行。</p> <h3>实例</h3> <pre class="has"><code class="language-html"><address> Written by Donald Duck.<br> Visit us at:<br> Example.com<br> Box 564, Disneyland<br> USA </address> </code></pre> <h2>用于著作标题的 HTML <cite></h2> <p>HTML <em><cite></em> 元素定义<em>著作的标题</em>。</p> <p>浏览器通常会以斜体显示 <cite> 元素。</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p><cite>The Scream</cite> by Edward Munch. Painted in 1893.</p> </code></pre> <h2>用于双向重写的 HTML <bdo></h2> <p>HTML <em><bdo></em> 元素定义双流向覆盖(bi-directional override)。</p> <p><bdo> 元素用于覆盖当前文本方向:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><bdo dir="rtl">This text will be written from right to left</bdo> </code></pre> <h2>HTML 引文、引用和定义元素</h2> <table> <tbody> <tr> <th>标签</th> <th>描述</th> </tr> <tr> <td><abbr></td> <td>定义缩写或首字母缩略语。</td> </tr> <tr> <td><address></td> <td>定义文档作者或拥有者的联系信息。</td> </tr> <tr> <td><bdo></td> <td>定义文本方向。</td> </tr> <tr> <td><blockquote></td> <td>定义从其他来源引用的节。</td> </tr> <tr> <td><dfn></td> <td>定义项目或缩略词的定义。</td> </tr> <tr> <td><q></td> <td>定义短的行内引用。</td> </tr> <tr> <td><cite></td> <td>定义著作的标题。</td> </tr> </tbody> </table> <p> </p> <h1>HTML 计算机代码元素</h1> <ul> <li>HTML 引用</li> <li>HTML 注释</li> </ul> <h2>计算机代码</h2> <pre class="has"><code class="language-html">var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" } </code></pre> <h2>HTML 计算机代码格式</h2> <p>通常,HTML 使用<em>可变</em>的字母尺寸,以及可变的字母间距。</p> <p>在显示<em>计算机代码</em>示例时,并不需要如此。</p> <p><em><kbd></em>, <em><samp></em>, 以及 <em><code></em> 元素全都支持固定的字母尺寸和间距。</p> <h2>HTML 键盘格式</h2> <p>HTML <em><kbd></em> 元素定义<em>键盘输入</em>:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p>To open a file, select:</p> <p><kbd>File | Open...</kbd></p> </code></pre> <h2>HTML 样本格式</h2> <p>HTML <em><samp></em> 元素定义<em>计算机输出示例</em>:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><samp> demo.example.com login: Apr 12 09:10:17 Linux 2.6.10-grsec+gg3+e+fhs6b+nfs+gr0501+++p3+c4a+gr2b-reslog-v6.189 </samp> </code></pre> <h2>HTML 代码格式</h2> <p>HTML <em><code></em> 元素定义<em>编程代码示例</em>:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><code> var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" } </code> </code></pre> <p><code> 元素<em>不保留</em>多余的<em>空格</em>和<em>折行</em>:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p>Coding Example:</p> <code> var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" } </code> </code></pre> <p>如需解决该问题,您必须在 <pre> 元素中包围代码:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p>Coding Example:</p> <code> <pre> var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" } </pre> </code> </code></pre> <h2>HTML 变量格式化</h2> <p>HTML <em><var></em> 元素定义<em>数学变量</em>:</p> <h3>实例</h3> <pre class="has"><code class="language-html"><p>Einstein wrote:</p> <p><var>E = m c<sup>2</sup></var></p> </code></pre> <h2>HTML 计算机代码元素</h2> <table> <tbody> <tr> <th>标签</th> <th>描述</th> </tr> <tr> <td><code></td> <td>定义计算机代码文本</td> </tr> <tr> <td><kbd></td> <td>定义键盘文本</td> </tr> <tr> <td><samp></td> <td>定义计算机代码示例</td> </tr> <tr> <td><var></td> <td>定义变量</td> </tr> <tr> <td><pre></td> <td>定义预格式化文本</td> </tr> </tbody> </table> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1441574589527285760"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(HTML,python爬虫)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950232820773351424.htm" title="移动端城市区县二级联动选择功能实现包" target="_blank">移动端城市区县二级联动选择功能实现包</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:本项目是一套为移动端设计的jQuery实现方案,用于简化用户在选择城市和区县时的流程。它包括所有必需文件:HTML、JavaScript、CSS及图片资源。通过动态更新下拉菜单选项,实现城市到区县的联动效果,支持数据异步加载。开发者可以轻松集成此功能到移动网站或应用,并可基于需求进行扩展和优化。1.jQuery移动端解决方案概述jQuery技术简介jQuery</div> </li> <li><a href="/article/1950225381961297920.htm" title="SpringMVC的执行流程" target="_blank">SpringMVC的执行流程</a> <span class="text-muted"></span> <div>1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,</div> </li> <li><a href="/article/1950208989954371584.htm" title="Selenium 特殊控件操作与 ActionChains 实践详解" target="_blank">Selenium 特殊控件操作与 ActionChains 实践详解</a> <span class="text-muted">小馋喵知识杂货铺</span> <a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个</div> </li> <li><a href="/article/1950207097413103616.htm" title="微信公众号回调java_处理微信公众号消息回调" target="_blank">微信公众号回调java_处理微信公众号消息回调</a> <span class="text-muted">weixin_39607620</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E5%9B%9E%E8%B0%83java/1.htm">微信公众号回调java</a> <div>1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.</div> </li> <li><a href="/article/1950201094361640960.htm" title="人工智能应用研究快讯 2021-11-30" target="_blank">人工智能应用研究快讯 2021-11-30</a> <span class="text-muted">峰谷皆平</span> <div>[HTML]ArtificialIntelligenceforSkinCancerDetection:ScopingReviewATakiddin,JSchneider,YYang,AAbd-Alrazaq...JournalofMedicalInternet...,2021ABSTACT:Background:Skincanceristhemostcommoncancertypeaffectin</div> </li> <li><a href="/article/1950195876991397888.htm" title="【Jupyter】个人开发常见命令" target="_blank">【Jupyter】个人开发常见命令</a> <span class="text-muted">TIM老师</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Pycharm/1.htm">Pycharm</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&amp;</a><a class="tag" taget="_blank" href="/search/VSCode/1.htm">VSCode</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/Jupyter/1.htm">Jupyter</a> <div>1.查看python版本importsysprint(sys.version)2.ipynb/py文件转换jupyternbconvert--topythonmy_file.ipynbipynb转换为mdjupyternbconvert--tomdmy_file.ipynbipynb转为htmljupyternbconvert--tohtmlmy_file.ipynbipython转换为pdfju</div> </li> <li><a href="/article/1950194742100815872.htm" title="用代码生成艺术字:设计个性化海报的秘密" target="_blank">用代码生成艺术字:设计个性化海报的秘密</a> <span class="text-muted"></span> <div>本文围绕“用代码生成艺术字:设计个性化海报的秘密”展开,先概述代码生成艺术字在海报设计中的独特价值,接着介绍常用的代码工具(如HTML、CSS、JavaScript等),详细阐述从构思到实现的完整流程,包括字体样式设计、动态效果添加等,还分享了提升艺术字质感的技巧及实际案例。最后总结代码生成艺术字的优势,为设计师提供打造个性化海报的实用指南,助力提升海报设计的独特性与吸引力,符合搜索引擎SEO标准</div> </li> <li><a href="/article/1950191165710069760.htm" title="前端面试每日 3+1 —— 第39天" target="_blank">前端面试每日 3+1 —— 第39天</a> <span class="text-muted">浪子神剑</span> <div>今天的面试题(2019.05.25)——第39天[html]title与h1、b与strong、i与em的区别分别是什么?[css]写出你知道的CSS水平和垂直居中的方法[js]说说你对模块化的理解[软技能]公钥加密和私钥加密是什么?《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!让努力成为一种习惯,让奋斗成为一种享受!欢迎在Iss</div> </li> <li><a href="/article/1950187223672483840.htm" title="GDP经济社会人文民生栅格数据下载网站汇总" target="_blank">GDP经济社会人文民生栅格数据下载网站汇总</a> <span class="text-muted">疯狂学习GIS</span> <div>  本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文</div> </li> <li><a href="/article/1950180497007112192.htm" title="【MySQL】MySQL数据库如何改名" target="_blank">【MySQL】MySQL数据库如何改名</a> <span class="text-muted">武昌库里写JAVA</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98%E6%B1%87%E6%80%BB%E4%B8%8E%E8%A7%A3%E6%9E%90/1.htm">面试题汇总与解析</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>MySQL建库授权语句https://www.jianshu.com/p/2237a9649ceeMySQL数据库改名的三种方法https://www.cnblogs.com/gomysql/p/3584881.htmlMySQL安全修改数据库名几种方法https://blog.csdn.net/haiross/article/details/51282417MySQL重命名数据库https://</div> </li> <li><a href="/article/1950130722157162496.htm" title="移动端适配rem方案" target="_blank">移动端适配rem方案</a> <span class="text-muted">简单的码农</span> <div>1.rem+动态html的font-size1.rem单位是相对于html元素的font-size来设置的,那么如果我们需要在不同的屏幕下有不同的尺寸,可以动态的修改html的font-size尺寸。2.比如如下案例:设置一个盒子的宽度是2rem;设置不同的屏幕上html的font-size不同;image这样在开发中,我们只需要考虑两个问题:问题一:针对不同的屏幕,设置html不同的font-s</div> </li> <li><a href="/article/1950130692448907264.htm" title="Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录" target="_blank">Vue CSR 到 Nuxt 3 SSR 迁移:技术实现与问题解决实录</a> <span class="text-muted">二倍速播放</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>1.迁移动机与技术选型1.1CSR架构的局限性基于Vue3和Vite构建的客户端渲染(CSR)单页应用(SPA)提供了良好的开发体验和用户交互流畅性。但是其核心局限在于:搜索引擎优化(SEO):初始HTML响应仅包含一个根div元素,实际内容由JavaScript在浏览器端动态生成。虽然主流搜索引擎(如Google)能够执行部分JavaScript,但其抓取效率和稳定性不如直接获取完整HTML。非</div> </li> <li><a href="/article/1950127794931429376.htm" title="redis反弹shell时kali无法接收回弹的解决方法" target="_blank">redis反弹shell时kali无法接收回弹的解决方法</a> <span class="text-muted">显哥无敌</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>无法接受回谈大概率是bash命令写的不对,那个crontab中间的星号个数是有意义的,不是随便加的,下面贴一下crontab的基本用法https://www.cnblogs.com/zhoading/p/11572630.html{minute}{hour}{day-of-month}{month}{day-of-week}{full-path-to-shell-script}如果是要cronta</div> </li> <li><a href="/article/1950121289456873472.htm" title="native.js设置可缩放的webview并隐藏缩放控件" target="_blank">native.js设置可缩放的webview并隐藏缩放控件</a> <span class="text-muted">Nanayai</span> <div>需求明确:webview页面可以手指缩放,并且不要那个原生控件;实现思路:1.使用h5+封装好的方法:设置scalable属性,并在html中设置meta标签:user-scalable=yes或不设置,minimum-scale和maximum-scale需要注意不要都设为1:mui.openWindow({url:"someThing",id:"someThing",styles:{scala</div> </li> <li><a href="/article/1950117078799282176.htm" title="Redis反弹Shell" target="_blank">Redis反弹Shell</a> <span class="text-muted">波吉爱睡觉</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%23%E6%9C%AA%E6%8E%88%E6%9D%83%E8%AE%BF%E9%97%AE%E6%BC%8F%E6%B4%9E/1.htm">#未授权访问漏洞</a><a class="tag" taget="_blank" href="/search/%23SSRF/1.htm">#SSRF</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a> <div>这里我来总结几种Redis反弹Shell的方法一、利用Redis写WebShell前提条件开了web服务器,并且知道路径,还需要有文件读写增删改查的权限条件比较苛刻,但是满足条件上传就会简单一点,我们直接将文件写入www目录下,完了使用工具连接即可。语句:redis:6379>configsetdir/var/www/html/redis:6379>configsetdbfilenameshell</div> </li> <li><a href="/article/1950108839089074176.htm" title="Windows下Oracle安装图解" target="_blank">Windows下Oracle安装图解</a> <span class="text-muted">叫我老村长</span> <div>Windows下Oracle安装图解----oracle-win-64-11g详细安装步骤一、Oracle下载官方下地址http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlwin32位操作系统下载地址:http://download.oracle.com/otn/nt/oracle11g</div> </li> <li><a href="/article/1950104727928762368.htm" title="震惊!DOM变化监控神器MutationObserver,前端开发必知的隐藏武器!" target="_blank">震惊!DOM变化监控神器MutationObserver,前端开发必知的隐藏武器!</a> <span class="text-muted">coding随想</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>一、什么是MutationObserver?如果你是一个前端开发者,一定会遇到这样的场景:页面动态加载内容后,某些操作失效了。比如,你写了一个监听按钮点击的代码,但按钮是通过AJAX动态加载的,你的代码根本无法触发。这个时候,你就需要一个“监控哨兵”——MutationObserver,它能实时监听DOM树的变化,帮你捕获那些“暗中作祟”的节点变动。MutationObserver是HTML5引入</div> </li> <li><a href="/article/1950100184717389824.htm" title="11. HTML 中 DOCTYPE 的作用" target="_blank">11. HTML 中 DOCTYPE 的作用</a> <span class="text-muted">yqcoder</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95-CSS/1.htm">前端面试-CSS</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>总结H5的声明HTML5的DOCTYPE声明HTML5中的声明用于告诉浏览器当前文档使用的是HTML5的文档类型。它必须是文档中的第一行内容(在任何HTML标签之前),以确保浏览器能够正确地解析和渲染页面。DOCTYPE的作用触发标准模式:DOCTYPE声明的主要作用是让浏览器以标准模式(StandardsMode)来解析和渲染页面,而不是以兼容模式(QuirksMode)。兼容性:在没有DOCT</div> </li> <li><a href="/article/1950100058422702080.htm" title="从0到1学PHP(一):PHP 基础入门:开启后端开发之旅" target="_blank">从0到1学PHP(一):PHP 基础入门:开启后端开发之旅</a> <span class="text-muted"></span> <div>目录一、PHP简介与发展历程1.1PHP定义与特点1.2在后端开发中的地位1.3发展阶段及重要版本更新二、PHP开发环境搭建2.1Windows系统下搭建步骤2.2Mac系统下搭建方法及常用工具2.3适合初学者的集成开发环境三、第一个PHP程序3.1编写"HelloWorld"程序3.2程序基本结构和执行过程3.3PHP代码的嵌入方式(在HTML中)一、PHP简介与发展历程1.1PHP定义与特点P</div> </li> <li><a href="/article/1950076871731376128.htm" title="C# 单问号 ? 与 双问号 ??" target="_blank">C# 单问号 ? 与 双问号 ??</a> <span class="text-muted">三分明月墨</span> <a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>https://www.runoob.com/csharp/csharp-nullable.html</div> </li> <li><a href="/article/1950005884310581248.htm" title="JSP编程从入门到精通:现代Web开发与AI集成实战指南" target="_blank">JSP编程从入门到精通:现代Web开发与AI集成实战指南</a> <span class="text-muted">AI编程员</span> <a class="tag" taget="_blank" href="/search/001AI%E4%BC%A0%E7%BB%9F%EF%BC%86%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">001AI传统&编程语言</a><a class="tag" taget="_blank" href="/search/002AI%E7%BC%96%E7%A8%8B%E5%B7%A5%E5%85%B7%E6%B1%87%E6%80%BB/1.htm">002AI编程工具汇总</a><a class="tag" taget="_blank" href="/search/003AI%E7%BC%96%E7%A8%8B%E4%BD%9C%E5%93%81%E6%B1%87%E6%80%BB/1.htm">003AI编程作品汇总</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a> <div>JSP编程从入门到精通:现代Web开发与AI集成实战指南一、JSP基础与环境搭建1.1JSP核心概念与工作原理JSP(JavaServerPages)是一种动态网页开发技术,通过在HTML中嵌入Java代码实现服务器端逻辑。其本质是Servlet的扩展,当客户端首次请求JSP页面时,服务器会将其编译为Servlet类(如index_jsp.java),再执行该类的_jspService()方法生成</div> </li> <li><a href="/article/1949991125741793280.htm" title="《博客园精华集》web标准分册第2论筛选结果文章列表" target="_blank">《博客园精华集》web标准分册第2论筛选结果文章列表</a> <span class="text-muted"></span> <div>《博客园精华集》web标准部分筛选结果(共55篇)一个喜欢网页设计的程序员作者:Awen根本不存在DIV+CSS布局这回事作者:CatChen欲练CSS,必先宫IE作者:CatChen你有强迫症吗?作者:CatChenSPAN元素和DIV元素的区别作者:ChrisLiudiv的认识作者:ChrisLiu实时检验您的页面是否符合XHTML标准——使用ValidatorModule作者:Dflying</div> </li> <li><a href="/article/1949966916076498944.htm" title="vue 使用 iFrame 嵌套带有登录的网站 登录成功 无法跳转" target="_blank">vue 使用 iFrame 嵌套带有登录的网站 登录成功 无法跳转</a> <span class="text-muted">WHY<=小氣鬼=></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>这个问题有点好玩,当时做的时候没想起来,哎不说讲一下问题1.项目在使用iFrame标签嵌套其他,网址或者自己的网址的时候如果没有登录只是浏览是没有问题的2.如个你使用Frame标签嵌套的网址是带有登录的需要注意两个网站是不是在统一域名下面如果在就可以正常登录,如果不在的话会出现登录成功但是无法跳转的问题3.在Vue项目中使用iFrame嵌套本地.html文件,本地.html文件向父页面抛出的方法或</div> </li> <li><a href="/article/1949950148306071552.htm" title="响应式电子邮件设计指南:MJML实践教程" target="_blank">响应式电子邮件设计指南:MJML实践教程</a> <span class="text-muted"></span> <div>本文还有配套的精品资源,点击获取简介:响应式设计在电子邮件领域至关重要,确保邮件内容在各种设备上均能良好显示。MJML(MailjetMarkupLanguage)是一个专门用于创建响应式电子邮件模板的开源标记语言。本示例详细介绍了如何使用MJML来设计自适应的邮件模板,涵盖安装工具、使用预定义组件、编译HTML代码等关键步骤。通过实际操作MJML的预定义组件如mj-head、mj-body、mj</div> </li> <li><a href="/article/1949949895343403008.htm" title="android开发------编写用户界面之相对布局" target="_blank">android开发------编写用户界面之相对布局</a> <span class="text-muted">cc-Cocos2D-X</span> <a class="tag" taget="_blank" href="/search/Android%E5%9F%BA%E7%A1%80/1.htm">Android基础</a> <div>元素之间总是相对于它们的同级元素或父元素进行排列布局。http://www.cnblogs.com/ai-developers/p/android_relativelayout.html</div> </li> <li><a href="/article/1949945858665541632.htm" title="Python爬虫【五十八章】Python数据清洗与分析全攻略:从Pandas到深度学习的异常检测进阶" target="_blank">Python爬虫【五十八章】Python数据清洗与分析全攻略:从Pandas到深度学习的异常检测进阶</a> <span class="text-muted">程序员_CLUB</span> <a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6/1.htm">Python入门到进阶</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/pandas/1.htm">pandas</a> <div>目录背景与需求分析第一章:结构化数据清洗实战(Pandas核心技法)1.1数据去重策略矩阵1.2智能缺失值处理体系第二章:深度学习异常检测进阶2.1自动编码器异常检测(时序数据)2.2图神经网络异常检测(关系型数据)第三章:综合案例实战案例1:金融交易反欺诈系统案例2:工业传感器异常检测第四章:性能优化与工程实践4.1大数据处理加速技巧4.2模型部署方案第五章:方法论总结与展望5.1方法论框架5.</div> </li> <li><a href="/article/1949945732429574144.htm" title="Python爬虫【三十五章】爬虫高阶:基于Docker集群的动态页面自动化采集系统实战" target="_blank">Python爬虫【三十五章】爬虫高阶:基于Docker集群的动态页面自动化采集系统实战</a> <span class="text-muted">程序员_CLUB</span> <a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6/1.htm">Python入门到进阶</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a> <div>目录一、技术演进与行业痛点二、核心技术栈深度解析2.1动态渲染三件套2.2Docker集群架构设计2.3自动化调度系统三、进阶实战案例3.1电商价格监控系统1.技术指标对比2.实现细节3.2新闻聚合平台1.WebSocket监控2.字体反爬破解四、性能优化与运维方案4.1资源消耗对比测试4.2集群运维体系五、总结与未来展望六、Python爬虫相关文章(推荐)一、技术演进与行业痛点在Web3.0时代</div> </li> <li><a href="/article/1949945604893372416.htm" title="Python爬虫【三十二章】爬虫高阶:动态页面处理与Scrapy+Selenium+BeautifulSoup分布式架构深度解析实战" target="_blank">Python爬虫【三十二章】爬虫高阶:动态页面处理与Scrapy+Selenium+BeautifulSoup分布式架构深度解析实战</a> <span class="text-muted"></span> <div>目录引言一、动态页面爬取的技术背景1.1动态页面的核心特征1.2传统爬虫的局限性二、技术选型与架构设计2.1核心组件分析2.2架构设计思路1.分层处理2.数据流三、代码实现与关键技术3.1Selenium与Scrapy的中间件集成3.2BeautifulSoup与ScrapyItem的整合3.3分布式爬取实现3.3.1Scrapy-Redis部署3.3.2多节点启动四、优化与扩展4.1性能优化策略</div> </li> <li><a href="/article/1949945605325385728.htm" title="Python爬虫【三十三章】爬虫高阶:动态页面破解与验证码OCR识别全流程实战" target="_blank">Python爬虫【三十三章】爬虫高阶:动态页面破解与验证码OCR识别全流程实战</a> <span class="text-muted">程序员_CLUB</span> <a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6/1.htm">Python入门到进阶</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/ocr/1.htm">ocr</a> <div>目录一、技术背景与行业痛点二、核心技术与实现路径2.1动态页面处理方案对比2.2Selenium深度集成实践2.3OCR验证码破解方案1.预处理阶段:2.识别阶段:3.后处理阶段三、典型应用场景解析3.1电商价格监控系统1.技术架构2.实现效果3.2社交媒体舆情分析1.特殊挑战2.优化方案:四、合规性与风险控制五、总结Python爬虫相关文章(推荐)一、技术背景与行业痛点在Web3.0时代,网站反</div> </li> <li><a href="/article/1949945606000668672.htm" title="Python爬虫【三十四章】爬虫高阶:动态页面处理与Playwright增强控制深度解析" target="_blank">Python爬虫【三十四章】爬虫高阶:动态页面处理与Playwright增强控制深度解析</a> <span class="text-muted">程序员_CLUB</span> <a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6/1.htm">Python入门到进阶</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录一、技术演进背景与行业挑战二、核心技术栈深度解析2.1动态渲染双引擎架构2.2浏览器指纹伪装方案2.3BeautifulSoup集成实践三、进阶应用场景突破3.1电商价格监控系统3.1.1技术架构创新3.1.2实现效果3.2社交媒体舆情分析3.2.1无限滚动模拟3.2.2WebSocket监控3.2.3Canvas指纹防护四、性能优化与合规方案4.1资源消耗对比测试4.2反爬对抗升级方案五、总</div> </li> <li><a href="/article/111.htm" title="JAVA基础" target="_blank">JAVA基础</a> <span class="text-muted">灵静志远</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E8%BD%BD/1.htm">加载</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%B1%A0/1.htm">字符串池</a><a class="tag" taget="_blank" href="/search/%E8%A6%86%E7%9B%96/1.htm">覆盖</a> <div>一、类的初始化顺序 1 (静态变量,静态代码块)--&gt;(变量,初始化块)--&gt; 构造器 同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。 二、String 1 String a = &quot;abc&quot;; JAVA虚拟机首先在字符串池中查找是否已经存在了值为&quot;abc&quot;的对象,根</div> </li> <li><a href="/article/238.htm" title="keepalived实现redis主从高可用" target="_blank">keepalived实现redis主从高可用</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>方案说明 两台机器(称为A和B),以统一的VIP对外提供服务 1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A) 2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务 3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始</div> </li> <li><a href="/article/365.htm" title="java文件操作大全" target="_blank">java文件操作大全</a> <span class="text-muted">0624chenhong</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>最近在博客园看到一篇比较全面的文件操作文章,转过来留着。 http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html 转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html 一.获得控制台用户输入的信息 &nbsp;&nbsp;&nbsp;&nbs</div> </li> <li><a href="/article/492.htm" title="android学习任务" target="_blank">android学习任务</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>任务 完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem</div> </li> <li><a href="/article/619.htm" title="zoom.js" target="_blank">zoom.js</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/oom/1.htm">oom</a> <div>它的基于bootstrap 的 https://raw.github.com/twbs/bootstrap/master/js/transition.js&nbsp; transition.js模块引用顺序 &lt;link rel=&quot;stylesheet&quot; href=&quot;style/zoom.css&quot;&gt; &lt;script src=&q</div> </li> <li><a href="/article/746.htm" title="详解Oracle云操作系统Solaris 11.2" target="_blank">详解Oracle云操作系统Solaris 11.2</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/Solaris/1.htm">Solaris</a> <div>当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。&nbsp; </div> </li> <li><a href="/article/873.htm" title="spring学习——springmvc(一)" target="_blank">spring学习——springmvc(一)</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。 &nbsp; 1,跟踪Spring MVC的请求 请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前</div> </li> <li><a href="/article/1000.htm" title="hdu4342 History repeat itself-------多校联合五" target="_blank">hdu4342 History repeat itself-------多校联合五</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E8%AE%BA/1.htm">数论</a> <div>水题就不多说什么了。 #include&lt;iostream&gt;#include&lt;cstdlib&gt;#include&lt;stdio.h&gt;#define ll __int64using namespace std;int main(){ int t; ll n; scanf(&quot;%d&quot;,&amp;t); while(t--) </div> </li> <li><a href="/article/1127.htm" title="EJB和javabean的区别" target="_blank">EJB和javabean的区别</a> <span class="text-muted">asia007</span> <a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/ejb/1.htm">ejb</a> <div>EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了 &nbsp; 1.EJB用于服务端应用开发, 而JavaBeans</div> </li> <li><a href="/article/1254.htm" title="Struts的action和Result总结" target="_blank">Struts的action和Result总结</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/Action%E9%85%8D%E7%BD%AE/1.htm">Action配置</a><a class="tag" taget="_blank" href="/search/Result%E9%85%8D%E7%BD%AE/1.htm">Result配置</a> <div>&nbsp; &nbsp; 一:Action的配置详解: &nbsp; &nbsp; &nbsp;下面是一个Struts中一个空的Struts.xml的配置文件 &nbsp; &nbsp; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt; &lt;!DOCTYPE struts PUBLIC &quo</div> </li> <li><a href="/article/1381.htm" title="如何带好自已的团队" target="_blank">如何带好自已的团队</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E5%9B%A2%E9%98%9F%E7%AE%A1%E7%90%86/1.htm">团队管理</a><a class="tag" taget="_blank" href="/search/%E5%9B%A2%E9%98%9F/1.htm">团队</a> <div>在网上看到博客&quot; 怎么才能让团队成员好好干活&quot;的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点: 1.诚信 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提</div> </li> <li><a href="/article/1508.htm" title="Java代码混淆工具" target="_blank">Java代码混淆工具</a> <span class="text-muted">sunjing</span> <a class="tag" taget="_blank" href="/search/ProGuard/1.htm">ProGuard</a> <div>Open Source Obfuscators ProGuard http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m</div> </li> <li><a href="/article/1635.htm" title="【Redis三】基于Redis sentinel的自动failover主从复制" target="_blank">【Redis三】基于Redis sentinel的自动failover主从复制</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。 &nbsp; 什么是Sentine</div> </li> <li><a href="/article/1762.htm" title="使用代理实现Hibernate Dao层自动事务" target="_blank">使用代理实现Hibernate Dao层自动事务</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。 public void save(Object obj){ Session session = this.getSession(); Transaction tran = session.beginTransaction(); try </div> </li> <li><a href="/article/1889.htm" title="maven3实战读书笔记" target="_blank">maven3实战读书笔记</a> <span class="text-muted">braveCS</span> <a class="tag" taget="_blank" href="/search/maven3/1.htm">maven3</a> <div>Maven简介 是什么? Is a software project management and comprehension tool.项目管理工具 是基于POM概念(工程对象模型) [设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复] [与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区] &nbsp; &nbsp; 功能: </div> </li> <li><a href="/article/2016.htm" title="编程之美-子数组的最大乘积" target="_blank">编程之美-子数组的最大乘积</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> public class MaxProduct { /** * 编程之美 子数组的最大乘积 * 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。 * 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。 * 但按题目的意思,是要求得这个子数组,而不</div> </li> <li><a href="/article/2143.htm" title="读书笔记-2" target="_blank">读书笔记-2</a> <span class="text-muted">chengxuyuancsdn</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a> <div>1、反射 2、oracle年-月-日 时-分-秒 3、oracle创建有参、无参函数 4、oracle行转列 5、Struts2拦截器 6、Filter过滤器(web.xml) 1、反射 (1)检查类的结构 在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。 2、oracle年月日时分秒 s</div> </li> <li><a href="/article/2270.htm" title="[求学与房地产]慎重选择IT培训学校" target="_blank">[求学与房地产]慎重选择IT培训学校</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/it/1.htm">it</a> <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 培训学校的教学楼和宿舍的环境和稳定性问题 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子... &nb</div> </li> <li><a href="/article/2397.htm" title="RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系" target="_blank">RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/rman/1.htm">rman</a><a class="tag" taget="_blank" href="/search/filesperset/1.htm">filesperset</a><a class="tag" taget="_blank" href="/search/PARALLELISM/1.htm">PARALLELISM</a> <div>RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转 PARALLELISM --- 我们还可以通过parallelism参数来指定同时&quot;自动&quot;创建多少个通道: RMAN &gt; configure device type disk parallelism 3 ; 表示启动三个通道,可以加快备份恢复的速度。 </div> </li> <li><a href="/article/2524.htm" title="简单排序:冒泡排序" target="_blank">简单排序:冒泡排序</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/1.htm">冒泡排序</a> <div> public void bubbleSort(int[] array){ for(int i=1;i&lt;array.length;i++){ for(int k=0;k&lt;array.length-i;k++){ if(array[k] &gt; array[k+1]){ </div> </li> <li><a href="/article/2651.htm" title="初二上学期难记单词三" target="_blank">初二上学期难记单词三</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/sciet/1.htm">sciet</a> <div>concert 音乐会 tonight 今晚 famous 有名的;著名的 song 歌曲 thousand 千 accident 事故;灾难 careless 粗心的,大意的 break 折断;断裂;破碎 heart 心(脏) happen &nbsp;偶尔发生,碰巧 tourist 旅游者;观光者 science (自然)科学 marry 结婚 subject 题目;</div> </li> <li><a href="/article/2778.htm" title="I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码" target="_blank">I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>wget&nbsp;http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make &nbsp; 前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。 异常一: make[2]: cc: Command not found 异常原因:没有安装g</div> </li> <li><a href="/article/2905.htm" title="并发容器" target="_blank">并发容器</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91%E5%AE%B9%E5%99%A8/1.htm">并发容器</a> <div>&nbsp;&nbsp;&nbsp;通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。 &nbsp;&nbsp; 并发容器ConcurrentHashMap &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 替代同步基于散列的Map,通过Lock控制。 &nbsp;&nbsp;&nb</div> </li> <li><a href="/article/3032.htm" title="Spring Security(12)——Remember-Me功能" target="_blank">Spring Security(12)——Remember-Me功能</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a><a class="tag" taget="_blank" href="/search/Remember+Me/1.htm">Remember Me</a><a class="tag" taget="_blank" href="/search/%E8%AE%B0%E4%BD%8F%E6%88%91/1.htm">记住我</a> <div>Remember-Me功能 &nbsp; 目录 &nbsp; 1.1&nbsp;&nbsp;&nbsp;&nbsp; 概述 1.2&nbsp;&nbsp;&nbsp;&nbsp; 基于简单加密token的方法 1.3&nbsp;&nbsp;&nbsp;&nbsp; 基于持久化token的方法 1.4&nbsp;&nbsp;&nbsp;&nbsp; Remember-Me相关接口和实现</div> </li> <li><a href="/article/3159.htm" title="位运算" target="_blank">位运算</a> <span class="text-muted">焦志广</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a> <div> 一、位运算符C语言提供了六种位运算符: &amp; 按位与 | 按位或 ^ 按位异或 ~ 取反 &lt;&lt; 左移 &gt;&gt; 右移 1. 按位与运算 按位与运算符&quot;&amp;&quot;是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&am</div> </li> <li><a href="/article/3286.htm" title="nodejs 数据库连接 mongodb mysql" target="_blank">nodejs 数据库连接 mongodb mysql</a> <span class="text-muted">liguangsong</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/node/1.htm">node</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5/1.htm">数据库连接</a> <div>1.mysql 连接 &nbsp; &nbsp;package.json中dependencies加入 &nbsp; &nbsp; &quot;mysql&quot;:&quot;~2.7.0&quot; &nbsp; &nbsp;执行 npm install &nbsp; &nbsp; &nbsp;在config 下创建文件 database.js &nbsp; &nbsp; </div> </li> <li><a href="/article/3413.htm" title="java动态编译" target="_blank">java动态编译</a> <span class="text-muted">olive6615</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E7%BC%96%E8%AF%91/1.htm">动态编译</a> <div>&nbsp;&nbsp;&nbsp; 在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。 &nbsp;&nbsp;&nbsp; HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视</div> </li> <li><a href="/article/3540.htm" title="Storm0.9.5的集群部署配置优化" target="_blank">Storm0.9.5的集群部署配置优化</a> <span class="text-muted">roadrunners</span> <a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96/1.htm">优化</a><a class="tag" taget="_blank" href="/search/storm.yaml/1.htm">storm.yaml</a> <div>nimbus结点配置(storm.yaml)信息: # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional inf</div> </li> <li><a href="/article/3667.htm" title="101个MySQL 的调节和优化的提示" target="_blank">101个MySQL 的调节和优化的提示</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。   2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。   3. 使用电池供电的RAM(注:RAM即随机存储器)。   4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列</div> </li> <li><a href="/article/3794.htm" title="zoj 3829 Known Notation(贪心)" target="_blank">zoj 3829 Known Notation(贪心)</a> <span class="text-muted">阿尔萨斯</span> <a class="tag" taget="_blank" href="/search/ZOJ/1.htm">ZOJ</a> <div> 题目链接:zoj 3829 Known Notation 题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。 解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>