《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数组
..
- 《Python爬虫开发与项目实战》总结 第二章
- 《Python爬虫开发与项目实战》总结 第一章
- 《Python爬虫开发与项目实战》读书笔记
- Python大型网络爬虫项目开发实战
- 基础爬虫框架及运行(选自范传辉Python爬虫开发与项目实战)
- python爬虫实战小项目
- Python网络爬虫实战项目代码大全
- Python网络爬虫实战项目代码大全
- Python网络爬虫实战项目代码大全
- Python网络爬虫实战项目大全!
- 第一个python爬虫实战项目---翻译
- python开发简单爬虫:实战篇
- Python开发简单爬虫之实战演练
- python与爬虫技术总结
- Python项目开发实战1
- 关于php项目的开发回顾总结第二章-----与oracle数据库的不解之缘
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第2章 windows下搭建开发环境
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第3章 爬虫基础知识回顾
- loadrunner Web_类函数之web_set_option()
- Unity中常用的一些单词的翻译(完善)
- 跟我一起了解xCode9的新功能
- NKOJ 2498 (NOIP 2013)华容道(BFS+最短路)
- loadrunner Web_类函数之web_set_proxy()
- 《Python爬虫开发与项目实战》总结 第二章
- 戴尔PowerEdge R430 机架式服务器 安装ubuntu server 14.04.1 LTS 64 位 硬件配置: 服务编号:5Z04X72 软件配置 1、Ubuntu 系统下载地址:
- bzoj4754独特的树叶(树hash)
- 九九乘法表
- Python Virtual Environments 原理
- MySQL的增删查改
- java----数组
- jtwig-spring-boot-starter ,Defining prefix/suffix of the resolver, resource not found
- GBDT-Gradient Boosting Decision Tree