python请求并解析json数据
python3⽹络爬⾍开发实战(崔庆才著)第⼆章
2、爬⾍基础
2.1 HTTP基本原理
2.1.1 URI URL URN
URI 全称Uniform Resource Identifier,即统⼀资源标志符
URL 全称Uniform Resource Locator ,即统⼀资源定位符
URN 全称Uniform Resource Name , 即统⼀资源名称
URI包含URL和URN
2.1.2 超⽂本
英⽂名称:hypertext 。包含有标签的⽹络源代码
2.1.3 URL的开头会有http或https
HTTP 全称Hyper Text Transfer Protocol ,中⽂名超⽂本传输协议。从⽹络传输超⽂本数据到本地浏览器的传送协议,⾼效、准确。
⼴泛使⽤的是HTTP1.1版本
HTTPS 全称Hyper Text Transfer Protocol over Secure Socket Layer,以安全为⽬标的HTTP通道。是HTTP的安全版。在HTTP 下加⼊SSL层。阐述的内容通过SSL传送。
建⽴信息安全通道来保证数据传输的安全
确认⽹站的真实性,可以通过CA机构颁发的安全签章查询。(12306⽹站使⽤的https,其CA证书是由中国铁道部⾃⾏签发的。
2.1.4 HTTP请求过程
们在浏览器中输⼊⼀个URL,回车之后便会在浏览器中观察到页⾯内容。实际上,这个过程是浏览器向⽹站所在的服务器发送了⼀个请求,⽹站服务器接收到这个请求后进⾏处理和解析,然后返回对应的响应,接着传回给浏览器。响应⾥包含了页⾯的源代码等内容,浏览器再对其进⾏解析,便将⽹页呈现了出来。
2.1.5 请求
由棵树段向服务端发出,可分为4部分内容:请求⽅法(Request Method)、请求⽹址(Request URL)、请求头(Request Headers)、请求体(Request Body)
请求⽅法(Request Method)
⽅法描述
GET请求页⾯,并返回页⾯内容(请求参数包含在URL⾥⾯,提交的数据最多1024字节)
HEAD类似于GET请求,返回的响应⾥⾯没有具体内容,⽤于获取报头
vipaccess安卓版最新POST⼤多⽤于提交表单或上传⽂件,数据包含在请求体中(不限制上产数据的⼤⼩)
PUT⽤从客户端向服务器传送的数据取代指定⽂档中的内容
DELETE请求服务器删除指定的页⾯
DELETE请求服务器删除指定的页⾯
⽅法描述
CONNECT把服务器当作跳板,让服务器代替客户端访问其他⽹站
OPTIONS允许客户端查看服务器的性能
TEACE回显服务器收到的请求,主要⽤于测试或诊断
请求⽹址
即统⼀资源定位符 URL,可以唯⼀确定请求的资源
请求头
⽤来说明服务器要是⽤的附加信息,⽐较重要的信息有Cookie、Referer、User-Agent等
java基础入门传智播客电子版
Accept:请求报头域,⽤于指客户端可接收那些类型的信息
Accept-Language:指定客户端可接受的语⾔类型
Accept-Encoding:指定客户端可接受的内容编码
Host:⽤于指定请求资源的主机IP和端⼝号,内容为请求URL的原始服务器或⽹关的位置。从HTTP1.1版本开始,必须包含
Cookie:⽹站为了辨别⽤户进⾏会话跟踪⽽存储在⽤户本地的数据。只要功能是维持当前访问会话。(记住密码)
Referer:标识请求来源页⾯,可以做来源统计或防盗链处理等
User-Agent:简称UA,特殊的字符串头,服务器识别客户使⽤的操作系统及版本、浏览器等。在做爬⾍时加上这些信息可以伪装成浏览器访问。
Content-Type:也叫互联⽹媒体类型(Internet Media Type)或者MIME类型。表⽰媒体类型信息。例如:text、html代表HTML格式,image、gif代表GIF 图⽚,application、json代表JSON类型。更多参考tool.oschina/commons。
请求体
⼀般承载的内容是POST请求中的表单数据,⽽对于GET请求,请求体为空
2.1.6 响应
由服务端返回给客户端,分为三部分:响应状态码(Response Status Code)、响应头(Response Headers),响应体(rESPONSE Body)
响应状态码
响应头
oracle收费吗
包含了服务器对请求的应答信息
Date:响应产⽣的时间
Last-Modified:最后的修改时间
Content-Encoding:相应内容的编码
Server:服务器的信息,例如:名称、版本号等
Content-Type:⽂档类型,指定返回的数据类型
Set-Cookie:设置Cookie。
Expires:响应过期的时间。再次访问时可以直接从缓存中加在,降低服务器负载,缩短加载时间
响应体
最重要的是内容。响应的正⽂数据都在响应体中,⽐如请求⽹页时,响应体就是⽹页的HTML代码;请求⼀张图⽚时,响应体就是图⽚的⼆进制数据。
2.2 ⽹页基础
2.2.1 ⽹页的组成
⽹页分为三⼤部分——HTML(⾻架)、CSS(⽪肤)和JavaScript(肌⾁)。
HTML
⽤来描述⽹页的⼀种语⾔, 全称是Hyper Text Markup Language,即超⽂本标记语⾔。⽹页包括⽂字、按钮、图⽚、视频资料等元素,其基础框架就是HTML。不同类型的⽂字通过不同的标签表⽰,如图⽚⽤img标签,视屏⽤video标签,段落⽤p标签。布局⽤div 标签嵌套组合⽽成
CSS
全称:Cascading Style Sheets ,即层叠样式表。“层叠”是指能依据层叠顺序处理多个样式⽂件。“样式”是指⽹页中⽂字⼤⼩、颜⾊、元素间距、排列等格式。⽬前唯⼀的⽹页页⾯排版样式标准。
后缀为css,⽤link标签引⽤
JaveScript
简称JS,是⼀种脚本语⾔。交互动画效果,如下载进度条、提⽰框。轮播图等。
后缀为js,通过script标签引⽤
2.2.2 ⽹页的结构
< !DOCTYPE html>
php聊天室可以语音源码< html>
< head>
< meta charset="UTF-8">
<title>This is a Demo</title>
</ head>
<body>
<div id =” container ”>
<div class ="wrapper"〉
<h2 class =” title ”> Hello World</h2>
<pclass = ” text ” > Hello,this is a paragraph.</p>
</div>
公司搭建
</ div>
</ body >
</ html>
这就是⼀个最简单的HTML实例,开头⽤DOCTYPE定义了⽂档类型,其次最外层是html标签,最后还有对应的结束标签来表⽰闭合,其内部是head标签和body标签,分别代表⽹页头和⽹页体,它们也需要结束标签。head标签内定义了⼀些页⾯的置和引⽤,如:
<meta charset =” UTF-8 ”>
它指定了⽹页的编码为UTF-8。title标签则定义了⽹页的标题,会显⽰在⽹页的选项卡中,不会显⽰在正⽂中。body标签内则是在⽹页正⽂中显⽰的内容。div标签定义了⽹页中的区块,它的id是container,这是⼀个⾮常常⽤的属性,且id的内容在⽹页中是唯⼀的,我们可以通过它来获取这个区块。然后在此区块内⼜有⼀个div标签,它的class为wrapper,这也是⼀个⾮常常⽤的属性,经常与css配合使⽤来设定样式。然后此区块内部⼜有⼀个h2标签,这代表⼀个⼆级标题。另外,还有⼀个p标签,这代表⼀个段落。在这两者中直接写⼊相应的内容即可在⽹页中呈现出来,它们也有各⾃的class属性。
2.2.3 节点数及节点间的关系
标签定义的内容都是节点,构成⼀个HTML DOM树。
DOM是W3C(万维⽹联盟)的标准,英⽂全称为Document Object Model ,即⽂档对象模型。定义了访问HTML和XML⽂档的标准。W3C⽂档对象模型(DOM)是中⽴于平台和语⾔的接⼝,允许程序和脚本动态地访问和更新⽂档的内容、结构和样式。
树中的所有节点都可以通过JavaScript访问,节点元素都可被修改、创建或删除。节点彼此间拥有层级关系。通常⽤⽗(parent)、⼦(child)和兄弟(siblig)等术语描述这些关系。
2.2.4 选择器

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。