IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 爬虫基础知识 -> 正文阅读

[网络协议]爬虫基础知识

爬虫基础

2.1 HTTP基本原理

2.1.1 URI和URL

  • URI:Uniform Resource Identifier ------统一资源标识符

  • URL:Universal Resource Locator ------统一资源定位符

举个例子:

http://github.com/favicon.ico

它是一个URL,也是一个URI,我们用URI/URL来唯一指定它的访问方式

访问协议:https

访问路径(/即根目录)和资源名称favicon.ico,通过这样一个链接,就可以在互联网上找到这个资源

URL是URI的子集,即每个URL都是URI,但不是每个URI都是URL

怎样的URI不是URL呢?

URI还包括一个子类叫做URN(Universal Resource Name) -----统一资源名称

URN只命名资源而不指定如何定位资源,比如urn:isbn:xxxxxxx指定了一本书的ISBN可以唯一标识这本书

URN用得少

一般的网页链接,我们既可以称之为URL也可称之为URI

2.1.2 超文本

超文本(hypertext)

我们在浏览器看到的网页就是超文本解析而成,其源代码是一系列的HTML代码(内含标签等)

在网页按F12,可以打开浏览器的开发者工具,这时候在Elements选项卡中可以看到网页的源代码

2.1.3 HTTP和HTTPS

URL的开头会有http或https,这就是访问资源需要的协议类型,我们还会看到ftp,sftp,smb开头的URL,它们都是协议类型

  • HTTP:Hyper Text Transfer Protocol,中文叫超文本传输协议,HTTP由万维网协会和IETF(internet工作小组)共同合作制定的规范

  • HTTPS:Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,是HTTP的安全版,即在HTTP下加入SSL层

有些网站虽然使用https,但提示不是私密链接,它的数据依旧经过SSL加密,如果要爬取这样的站点,就需要设置忽略证书的选项,否则会提示SSL链接错误。

2.1.4 HTTP请求过程

我们在浏览器中输入一个URL,回车后可看到网页内容,这个过程是浏览器向服务器发送一个请求,网站服务器接受请求后会进行处理和解析,然后传回浏览器,响应包含了页面的源代码,浏览器对其进行解析后呈现出来。

网络请求返回的含义

  • 第一列Name:请求的名称,一般会将URL的最后一部分内容当作名称

  • 第二列Status:相应的状态码,这里显示为200,代表响应是正常的,通过状态码判断发送请求后是否得到正常的响应

  • 第三列Type:请求文档类型

  • 第四列Initiator:请求源,用来标记请求是由哪个对象或进程发起的

  • 第五列Size:资源和文件大小

  • 第六列Time:发起请求到获得响应的时间

  • 第七列Waterfall:网络请求的可视化瀑布流

点击这个条目可以获得更详细的信息

2.1.5 请求

1.请求方法

GET和POST

  • GET:输入网址按下回车,便是发起一个GET请求

  • POST:大多数在表单提交时发起

区别:

  • GET请求一般包含在URL中,数据可以在URL中看到,而POST请求通过表单形式传输的,URL不包含,会出现在请求体中
  • GET请求提交的数据最多只有1024字节,而POST无限制

2.请求的网址

即统一资源定位符URL,他可以唯一确定我们想请求的资源

3.请求头

请求头,用来说明服务器使用的附加信息,比较重要的信息有cookie,referer,user-agent

  • Accept:请求报头域,用于指定客户端可接受哪些类型的信息

  • Accept-Language:指定客户端可接受的语言类型

  • Accept-Encoding:指定客户端可接受的内容编码

  • Host:用于指定请求资源的主机IP号和端口号,其内容为请求的URL的原始服务器或网关的位置

  • Cookie:保存一些历史记录之类的

  • Referer:标识这个请求从哪个页面发来,服务器拿到这个信息做相应的处理,比如统计,防盗链

  • User-Agent:UA,爬虫要伪装

  • Content-Type:互联网媒体类型

4.请求体

一般承载post请求的表单数据,对于get请求,请求体则为空

2.1.6 响应

1.响应状态码

200 -----服务器正常响应

404 -----页面未找到

等等

2.响应头

3.响应体

开发者工具中Preview,可看到网页源代码,就是响应体的内容

2.2 网页基础

2.2.1 网页的组成

HTML+CSS+JavaScript

2.2.2 网页的结构

2.2.3 节点数及节点间的关系

在html中,所有标签定义的内容都是节点,它们构成了一个HTML DOM树。

DOM是W3C(万维网联盟)的标准,其全称文档对象模型。它定义了访问HTML和XML文档的标准:

W3C文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容,结构,样式。

W3C的HTML DOM标准,HTML文档中的所有内容都是节点:

  • 整个文档是一个文档节点。
  • 每个HTML元素是元素节点
  • HTML元素内的文本是文本节点
  • 每个HTML属性是属性节点
  • 注释是注释节点

2.2.4 选择器

2.3 爬虫的基本原理

2.3.1 爬虫概述

1.获取网页

2.提取信息

3.保存数据

4.自动化程序

2.3.2 能抓怎样的数据

抓取html代码,或者json字符串。

二进制数据(图片,视频,音频)

2.3.3 JavaScript渲染页面

2.4 会话和Cookies

2.4.1 静态网页和动态网页

静态网页:html和css写出来的简单网页,可维护性差,不能根据URL灵活多变地显示内容

动态网页:JSP,PHP,Python等语言编写复杂的动态网页

2.4.2 无状态HTTP

HTTP协议对事物处理是没有记忆能力的,也就是服务器不知道客户端是什么状态,当我们向服务器发送请求,服务器响应,这过程是完全独立的,服务器不会记录前后状态的变化。

cookies会记录,有了它,只需要在下次请求携带Cookies发送请求而不必重新输入用户名,密码等信息重新登陆了。

1.会话:网页跳转时传递信息

2.cookies:会话维持,属性结构F12----Application----storage----cookies

2.5 代理的基本原理

2.5.1 基本原理

相当于在本机服务器和发送过去的服务器间搭了一座桥,在三者之间传递

2.5.3 爬虫代理

2.5.4 代理分类

1.根据协议分类

2.根据匿名程度划分

2.5.5 常见代理设置

  • 网上的免得代理
  • 付费代理
  • ADSL拨号:拨一个号换一个IP,稳定性较高
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:59:31  更:2021-11-09 20:00:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:23:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码