美文网首页
Python 爬虫基础 (二) 前端知识

Python 爬虫基础 (二) 前端知识

作者: 汪小鱼 | 来源:发表于2021-10-02 07:55 被阅读0次

    1 概述

    在上一篇文章中我们知道了,爬虫可以代替人工模拟浏览器进行网页操作。那我们当然需要具备一定的前端基础,只有这样我们才能面对各类网站进行数据的精准采集。

    2 网页的基本构成

    一个网页主要的框架如下所示,框架的基础是 HTML,它是用来描述网页的一种语言。常见的网页源码文件后缀为 .html,可以利用浏览器打开,浏览器能够解析文件内容样式呈现网页。

    <!doctype html>
    <html>
      <head>
            <meta charset="utf-8">  这里是声明一个字符编码,utf-8国际上最通用的字符编码
            <title>无标题文档</title> 网页的页面标题,显示在窗口栏
      </head>
           <head>与</head> 之间是不可见的,是给浏览器做信息配置用的
    
      <body>
           这里是我们这个网页的主体部分,内容就写在这里
      </body>
    </html>    html元素是文档开始和结尾的元素,它是一个双标签
    

    结合上述网页的基本结构,我们不难知道我们所需网页页面数据一般都来自网页的主体部分。

    百度网页源码

    DOCTYPE 是 Document Type 简写,中文翻译为文档类型。在网页中通过在首行代码中定义文档类型,用来指定页面所使用的 HTML 的版本类型。构建符合标注的网页中,只有确定正确的 DOCTYPE(文档类型),HTML 文档的结构和样式才能被正常解析和呈现。DOCTYPE 声明必须放在 (X)HTML 文档的顶部。

    在网页设计中,HTML、CSS、JavaScript 并列为网页前端设计的 3 种基本语言。其中 HTML 负责构建网页的基本结构,CSS 负责设计网页的显示效果,JavaScript 负责开发网页的交互效果。

    2.1 HTML

    HTML(Hyper Text Markup Language),超文本标记语言,通过的 <>...</> (一对尖括号) 标签形式组织不同类型的信息。HTML 构成网页的骨架,是网页的基础。

    常用的 HTML 标签:

    1.文本格式标签
    <p>   </p>                  标识段落文本
    <pre>   </pre>              标识预定义文本
    <blockquote> </blockquote>  标识引用文本
    2.字符格式标签
    <b>   </b>                  标识强调文本,以加粗效果显示
    <i>   </i>                  标识引用文本,以斜体效果显示
    <blink> </blink>            标识文本,以闪烁效果显示,IE浏览器不支持
    <big>   </big>              标识放大文本,以放大效果显示
    <small>   </small>          标识缩小文本,以缩小效果显示
    <sup>   </sup>              标识上标文本,以上标效果显示
    <sub>   </sub>              标识下标文本,以下标效果显示
    <cite>   </cite>            标识引用文本,以引用效果显示
    3.列表标签
    <ul><li> </li></ul>                   标识无序列表
    <li><li> </li></li>                   标识有序列表
    <dl><dt><dd> </dd></dt></dl>          标识定义列表
    4.链接标签
    超链接:<a href=“http://www.baidu.com”>百度首页</a> 
    锚链接:<a href=“#btm”>跳转到底部</a>
    <div id=“box” style=“height:2000px; border:solid 1px red;”>撑开浏览器滚动条</div>
    <span id=“btm”>底部锚点位置</span>
    6.多媒体标签
    <img />:嵌入图像
    

    利用 HTML 的相关标签,我们可以进行简单的网页设计。但作为网络爬虫的开发者,我们只需要了解 HTML 的基本标签,了解具体标签的作用,在分析网页时能够认出即可。

    2.2 CSS

    如果说 HTML 是网页内容的载体,那么 CSS 样式就是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

    CSS(Cascading Style Sheets),层叠样式表,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。CSS 是在 HTML 语言基础上发展而来的,是为了克服 HTML 网页布局所带来的弊端。

    样式是 CSS 的最小、最基本单元。从本质上来看,CSS 样式就是网页格式化的规则列表。一个样式单元必须包含两部分组成:
    1.样式作用的对象:选择器(Selector)。
    2.作用对象的效果:声明块(Declaration Block)。

    CSS 样式

    选择器:定义样式作用的对象。为了能准确选定页面中特定对象,CSS 提供了很多类型的选择器,这些选择器功能各异,但是它们的共同目标就是帮助设计师精确选择对象或对象范围。
    声明块:声明块必须紧跟在选择器的后面。声明块由大括号包括,大括号内列表显示一个或无数个声明。声明之间必须使用分号进行分隔,最后一个声明可以省略分号。

    2.2.1 CSS的三种样式:

    行内样式,就是把 CSS 样式直接放在代码行内的标签中,一般都是放在标签的 style 属性中。

    <p style="text-indent:2em; font-size:12px; line-height:1.6em; color:gray;">段落样式</p>
    

    内部样式:HTML 提供了一个 style 元素,使用该元素能够在文档内定义仅供当前页面内使用的样式,因此称其为内部样式。style 元素必须位于页面的头部区域,即必须包含在 <head> 和 </head> 标签之间。

    <style type="text/css">
    p {
          text-indent:2em;
          font-size:12px;
          line-height:1.6em;
          color:gray;
    }
    </style>
    

    外部样式,就是把样式代码存放在独立的文件中,使用时再把这个独立的文件导入或链接到 HTML 文档中。这个样式表文件就是我们常说的 CSS 文件,其扩展名为 .css。CSS 文件实际上就是一个文本文件,使用任何文本编辑器都可以打开并进行编辑。

    <link href="images/6-6.css " type="text/css" rel="stylesheet" media="all" />
    

    在网页中,一般会统一定义整个网页的样式规则,并写入 CSS 文件中。在 HTML 中,利用 link 标签引入写好的 CSS 文件。

    也可以在内部样式表中使用 @import 命令导入外部样式表。用法如下:

    <style type="text/css" media="all">
      <!--@import url("images/6-6.css");-->
    </style>
    

    2.2.2 CSS选择器

    选择器 例子 例子描述
    .class .instro 选择 class='intro' 的所有节点
    #id #firstname 选择 id='firstname' 的所有节点

    这里仅例举几个作为示例,更多选择器可以自行搜索了解。

    在爬虫中后面会学习相关的网页解析库,其中需要定位标签并提取内容,我们可以利用CSS选择器提取指定内容。

    2.2.3 CSS的继承性

    继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它所包含的后代。但需要注意的是并不是所有属性都可以继承。

    2.3 JavaScript

    JavaScript 简称 JS,是一种解释型的脚本语言。JavaScript 是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。可以这么理解,有动画的,有交互的一般都是用 JavaScript 来实现的。

    <script> 和 </script> 标签配合使用作为脚本语言的标识符来分隔其他源代码。在解析网页源代码时,浏览器检索到它们时就知道其中包含的字符信息是脚本,而不是 HTML 源代码或者 CSS 样式码。

    一般来说,这些 JavaScript 代码可以被嵌入到网页中任何位置,如 <head> 标签的顶部、<head> 和 </head> 标签之间、<body> 标签内部,甚至可以被放在 <html> 或 </html> 标签的外部。
    

    与其它计算机语言的作用域类似,JavaScript 也有作用范围。

    一般来说,我们习惯于把通用功能模块都写在独立的外部文件中,然后在需要的页面中引入该文件即可。JavaScript 文件实际上也是一个文本类型的文件,JavaScript 文件的扩展名为 js。<script> 元素既可包含脚本语句,也可以通过 "src" 属性指向外部脚本文件。

    <script src="file.js"></script>
    

    以上便是Python爬虫所需要了解的一些前端知识,大家不必过分在意是否完全理解(当然能够理解最好),只要在Python爬虫开发过程中能够灵活运用就行。

    欢迎大家关注点赞,作者会持续更新专题文章。

    相关文章

      网友评论

          本文标题:Python 爬虫基础 (二) 前端知识

          本文链接:https://www.haomeiwen.com/subject/vliknltx.html