《Python爬虫开发与项目实战》总结 第二章

来源:互联网 发布:post 测试工具 json 编辑:程序博客网 时间:2024/06/05 07:26

大纲:

概念:


SGML: Standard Generalized Markup language,是一种定义电子文档结构和描述其内容的国际标准语言。

HTML: HyperText Markup Language,它通过标记符号来标记要显示的网页中的各个部分。

超文本:就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

XHTML: EXtensible HyperText Markup Language,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。

XML: Extensible Markup Language, 是一种用于标记电子文件使其具有结构性的标记语言。

W3C标准:World WideWeb Consortium,有效促进了Web技术的互相兼容,对互联网技术的发展和应用起到了基础性和根本性的支撑作用, 网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。

HTTP协议:超文本传输协议(HTTP,HyperTextTransfer Protocol)是互联网上应用最为广泛的一种网络协议。提供一种发布和接收HTML页面的方法,

结构标准(Structure):文档排版结构。
表现标准(Presentation):外观标准,颜色,字体……

行为标准(Behavior):给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对象。

CSS:层叠样式表(英文全称:CascadingStyle Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

Xpath:XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。

JSON: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。

JavaScript:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

方法:

1.1HTML的基本结构

<html>内容</html>

HTML文档是由<html></html>包裹

<head>内容</head>

HTML文件头标记

<title>内容</title>

HTML文件标题标记

<body>内容</body>

是网页的主题

<meta>内容</meta>

页面的元信息

元信息:比如针对收索引擎更新频度的描述和关键词。

1.2文档设置标记

文档设置标记分为格式标记和文本标记。

格式标记

<br>

强制换行标记

<p>

换段落标记

<center>

居中对齐标记

<pre>

预格式化标记

<li>

列表项目标记

<ul>

无序列表标记

<ol>

有序列表标记

<dl><dt><dd>

定义型列表

<hr>

水平分割线标记

<div>

分区显示标记

文本标记

<hn>

标题标记

<font>

字体设置标记

<b>

粗字体标记

<i>

斜字体标记

<sub>

文字下标字体标记

<sup>

文字上标字体标记

<tt>

打印机字体标记

<cite>

引用方式的字体,通常是斜体

<em>

表示强调,通常显示为斜体

<strong>

表示强调,通常显示为粗体字

<small>

小型字体标记

<big>

大型字体标记

<u>

下划线字体标记

1.3图像标记

<img>称为图像标记,用来在网页帧显示图像。

<img src=“路径” width=“路径” height=“路径”>

src

属性用来指定我们要加载的图片的路径、图片名称和格式

width

属性用来指定图片的宽度,单位为px、em、cm、mm

height

属性用来指定图片的高度,单位为px、em、cm、mm

border

属性用来指定图片的边框宽度,单位为px、em、em、mm

alt

三个作用:

1.       对鼠标显示,图片的属性文字。

2.       图像没有下载或者加载失败,用文字来代替图像显示。

3.       收索引擎可以通过这个属性的文字来抓取图片。

1.4超链接的使用

<a>用来标记超链接。

<a href=”链接地址” target=”打开方式“ name=”页面描点名称“>

href

属性值是链接地址,链接地址是一个网页、视频、图片

Target

属性用来定义超链接的打开方式

Name

属性用来指定页面的描点名称

1.5表格

<table>

width

表示表格的宽度

height

表示表格的高度

border

表示表格外边框的宽度

align

表示表格的显示位置

cellspacing

单元格之间的间距

cellpadding

单元格内容与单元格边框的显示距离,单位为像素

frame

控制表格边框最外层的四条线框

rules

控制是否显示以及如何显示单元格之间的分割线

<caption>

 

Top:表示标题放在表格上部

Botton:表示标题放在表格下部

Left:表示标题放在表格的左部

Right:表示标题放在表格的右部

<tr>

Bgcolor

设置背景颜色

align

设置垂直方向对齐方式

valign

设置水平方向对齐方式

<td><th>

bgcolor

设置单元格背景

align

设置单元格对齐方式

valign

设置单元格垂直对齐方式

width

设置单元格宽度

height

设置单元格高度

rowspan

设置单元格所占行数

colspan

设置单元格所占列数

2.CSS

用来定义如何显示HTML元素,一般和HTNL配合使用。

内联样式表

CSS直接写在HTML标记中,直接使用style属性改变样式

嵌入式样式表

CSS样式代码写在<style type=”text/css”></style>标记之间,一般下嵌入式CSS样式写在<head></head>之间

外部样式表

CSS写一个单独的外部文件中,在<head>中使用<link>标记将CSS样式文件链接到HTML文件中

CSS规则通常由选择器和一条或多条声明组成,选择器通常是需要改变的HTML元素,属性是希望设置的样式属性。

选择器定义:

HTML标记定义

 

ID选择器定义

ID选择器可以为标有特定ID的HTML元素指定特定的样式

Class选择器定义

Class选择器用于描述一组元素的样式,class选择器有别于ID选择器,它可以在多个元素中使用

2.1颜色属性

颜色名称

Color:green

十六进制

Color:#ff6600

简写方式

Color:#f60

RGB方式

rgb(255,255,255)

RGBA方式

Color:rgba(255,255,255,1)

2.2字体属性

Font-size

定义字体大小

Font-family

定义字体

Font-weight

定义字体加粗

2.3背景属性

Background-color

用来定义背景的颜色

Background-image

用来定义背景图片

Background-repeat

用来定义背景重复方式

Background-position

用来定义背景位置

Background简写

背景颜色url重复位置

2.4文本属性

Text-align

设置文本对齐方式,属性值可以取left、center、right

Line-height

设置文本行高,属性值可以取具体数值,来设置固定的行高值

Text-indent

代表首行缩进

Letter-spacing

用来设置字符间距

2.5列表

List-style-type

指明列表项标记的类型

None

无标记

Disc

默认,标记是实心圆

Circle

标记是空心圆

Square

标记是实心方块

Decimal

标记是数字

Decimal-leading-zero

0开头的数字标记

Lower-roman

小写的罗马数字i,ii,iii,iv,v

Upper-alpha

大写的英文字母

List-style-position

用来指明列表项中标记的位置

List-style-image

用来设置图像列表标记

3.javascript

直接插入代码

在<script></script>标记中编写代码

外部引用js文件

把代码放到单独的.js文件中,然后通过<script src=‘目标文件的URL’></script>方式来引入js文件

3.1JavaScript基本语法

1)忽略空格

2)语句以;结束

3)使用{……}形成一个块block,可以嵌套形成层级

4)注释分为单行注释和多行注释

3.2数据类型和变量

Number类型

不区分整数和浮点,统一使用Number表示

字符串类型

以单引号或双引号括起来的任意文本

布尔值类型

一个布尔值只有true、false

数组类型

数组是一组按顺序排列的集合,集合的每个值称为元素

对象类型

是一组由健值组成的无序集合

3.3运算符合操作符

类别

操作符

示例

算术操作符

+、-、*、/、%

 

字符串操作符

+(字符串连接)、+=(字符串连接复合)

 

布尔操作符

!、&&、||

 

一元操作符

++、--、+(一元加)、-(一元减)

 

关系比较操作符

<、<=、>、>=、!=、==、===、!=

 

按位操作符

~(按位非)、&(按位与)、|(按位或)、^(按位异或)、<<(有符号左移)、>>(有符号左移)

 

赋值操作符

=、复合赋值(+=、-=、*=、%=)

复合按位赋值(~=、&=、|=、^=、<<=、>>=、>>>=)

 

 

对象操作符

.(属性访问)、[](属性或数组访问)、NEW(调用构造函数创建对象)、Delete(变量属性删除)、void(返回undefined)、In(判断属性)、instanceof(原型判断)

 

其他操作符

?:(条件操作符)、,(逗号操作符)、()(分组操作)、typeof(类型操作符)

 

3.4条件判断

If(){……}else{……}

3.5循环

For循环、一种是while循环

3.6函数

关键字function

4.1Xpath节点

七种类型的结点:元素、属性、文本、命名空间、处理指令、注释、文档节点。树的根被称为文档节点或根节点。

节点关系:父(parent)、子(children)、同胞(sibling)、先辈(ancestor)、后代(descendant)

4.2Xpath语法

节点是沿着路径(path)或者(steps)来选取的。

表达式

描述

Nodename

选取此节点的所有子节点

/

从根节点选取

//

选择任意位置的某个节点

.

选取当前节点

..

选取当前节点的父节点

@

选取属性

节点选取示例

实现效果

路径表达式

选取classroom元素的所有子节点

Classroom

选取根元素classroom

/classroom

选取属于classroom的子元素的所有student元素

Classroom/student

选取所有student子元素,而不管他们在文档中的位置

//student

选择属于classroom元素的后代的所有student元素,而不管它们位于classroom之下的什么位置

Classroom//student

选取名为lang的所有属性

//@lang

通配符“*”与“1”操作符

选取classroom元素的所有子元素

/classroom/*

选取文档中的所有元素

//*

选取所有带有属性的name元素

//name[@*]

选取student元素的所有name和age元素

//student/name|//student/age

选取属于classroom元素的student元素的所有name元素,以及文档所有age元素

/classroom/student/name | //age

4.3Xpath轴

轴名称

含义

child

选取当前节点的所有子节点

parent

选取当前节点的父节点

ancestor

选取当前节点的所有先辈(父、祖父)

ancestor-or-self

选取当前节点的所有先辈以及当前节点本身

descendant

选取当前节点的所有后代元素

Descendant-or-self

选取当前节点的所有后代元素及当前节点本身

Preceding

选取文档中当前节点的开始标记之前的所有节点

following

选取文档中当前节点的结束标记之后的所有节点

Preceding-sibling

选取当前节点之前的所有同级节点

Following-sibling

选取当前节点之后的所有同级节点

self

选取当前节点

attribute

选取当前节点的所有属性

namespace

选取当前节点的所有命名空间节点

4.4运算符

运算符

描述

实例

含义

|

计算两个节点集

/student/name|//student/age

选取所有student元素的所有name和age元素

+

加法

/classroom/student[age=19+1]

选取classroom元素的所有student元素,且其中的age元素的值须等于20

-

减法

/classroom/student[age=21-1]

同上

*

乘法

/classroom/student[age=4*5]

同上

div

除法

/classroom/student[age=40 div 2]

同上

=

等于

/classroom/student[age=20]

同上

!=

不等于

/classroom/student[age!=20]

..

小于

/classroom/student[age<20]

..

<=

小于等于

/classroom/student[age<=20]

..

大于

/classroom/student[age>20]

..

>=

大于等于

/classroom/student[age>=20]

..

or

/classroom/student[age<20 or age>25]

..

and

/classroom/student[age>20 or age<25]

..

mod

计算除法的余数

5 mode 2

1

5.1JSON

JSON名称/值对

名称/值对

JSON值

数字、字符串……

JSON对象

..

JSON数组

..

 

阅读全文
0 0
原创粉丝点击