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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python爬虫编程1———爬虫简介 -> 正文阅读

[网络协议]Python爬虫编程1———爬虫简介

目录

一.通讯协议

1.端口

2.通讯协议

二.网络模型

?1.HTTPS是什么呢?

2.SSL怎么理解?

?3.http请求与响应

4.客户端的HTTP请求

5.一个典型的HTTP请求示例

6.请求方法

三.爬虫介绍

1.什么是爬虫?

2.为什么需要爬虫

3.企业获取数据的方式

4.Python做爬虫的优势

5.爬虫的分类

四.重要概念

1.GET和POST

2.URL组成部分

3.User-Agent用户代理

4.Referer

五.抓包工具


一.通讯协议

1.端口

我们想要进行数据通讯分为几步?

1.找到对方IP;

2.数据要发到对方指定的应用程序上。为了标识这些应用程序,所以给这些网络应用程序都用数字进行了标识。为了方便称呼这个数字,叫做端口。这里的端口,我们一般叫做“逻辑端口”。

3.定义通讯规则。这个通讯规则我们一般称为协议。

2.通讯协议

国际组织定义了通用的通信协议,TCP/IP协议。所谓协议就是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规则或规则。

HTTP又叫做超文本传输协议(是一种通信协议)HTTP的端口为80。

二.网络模型

osi模型

后期更新了新的参考模型,TCP/IP 参考模型

?1.HTTPS是什么呢?

1.https = http + ssl,顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的。

2.https,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP的安全版。即HTTP下加入SSL保护层,HTTPS的安全基础是SSL。

2.SSL怎么理解?

SSL也是一个协议主要用于web的安全传输协议

image.png

?3.http请求与响应

HTTP通信由两部分组成:客户端请求消息与服务器响应消息。

02_http_pro.jpg

?1.当用户在浏览器的地址中输入一个URL并按下回车键时,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为 ”get“ 和 ”post“ 两种方法。

2.当我们在浏览器输入URL:https://www.baidu.com 时浏览器发送一个Request请求去获取 https://www.baidu.com 的html文件,服务器把Response文件对象发送给浏览器。

3.浏览器分析Response中的HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。浏览器会自动再次发送Request去获取图片,CSS文件或者是JS文件。

4.当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来。

4.客户端的HTTP请求

URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求信息,包括以下格式:

请求行,请求头,空行,请求数据这四个部分组成,下图给出了请求报文的一般格式。

01_request.png

?

5.一个典型的HTTP请求示例

GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: same-origin
Referer: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=Python%20%20%E6%89%8B%E5%8A%A8%E5%9B%9E%E6%94%B6%E5%9E%83%E5%9C%BE&oq=Python%2520%25E6%2594%25B6%25E5%2588%25B0%25E5%259B%259E%25E6%2594%25B6%25E5%259E%2583%25E5%259C%25BE&rsv_pq=f5baabda0010c033&rsv_t=1323wLC5312ORKIcfWo4JroXu16WSW5HqZ183yRWRnjWHaeeseiUUPIDun4&rqlang=cn&rsv_enter=1&rsv_dl=tb&inputT=2315&rsv_sug3=48&rsv_sug2=0&rsv_sug4=2736
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: BIDUPSID=4049831E3DB8DE890DFFCA6103FF02C1;

6.请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP 0.9:只有基本的文本 GET 功能。

HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP 1.1:在 1.0 基础上进行更新,新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

HTTP 2.0(未普及):请求/响应首部的定义基本没有改变,只是所有首部键必须全部小写,而且请求行要独立为 :method、:scheme、:host、:path这些键值对。

?

三.爬虫介绍

1.什么是爬虫?

简单一句话就是代替人去模拟浏览器进行网页操作

2.为什么需要爬虫

为其他程序提供数据源,如搜索引擎(百度,谷歌等),数据分析,大数据等等。

3.企业获取数据的方式

1.公司自有的数据;

2.第三方平台购买的数据(百度指数,数据堂);

3.爬虫爬取的数据。

4.Python做爬虫的优势

1.PHP:对多线程,异步支持不太好;

2.Java:代码量大,代码笨重;

3.C/C++:代码量大,难以编写;

4.Python:支持模块多,代码简介,开发效率高(scrapy框架)。

5.爬虫的分类

1.通用网络爬虫:例如:baidu,google,yahu。

2.聚焦网络爬虫:根据既定的目标有选择地抓取某一特定地主题内容。

四.重要概念

1.GET和POST

1.GET:查询参数都会在URL上显示出来;

2.POST:查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址显示出来。

2.URL组成部分

?

3.User-Agent用户代理

作用:记录用户的浏览器,操作系统等,为了让用户更好的获取HTML页面效果。

User-Agent:

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

Mozilla Firefox:(Gecko内核)

4.Referer

表明当前这个请求是从哪个url过来的。一般情况下用来做反爬技术。

状态码:

200:请求成功;

301:永久重定向;

302:临时重定向;

404:请求失败(服务器无法根据客户端的请求找到资源(页面))

500:服务器内部请求。

五.抓包工具

?

  • Elements : 元素 网页源代码,提取数据和分析数据(有些数据是经过特殊处理的所以并不是都是准确的)
  • Console : 控制台 (打印信息)
  • Sources : ?信息来源 (整个网站加载的文件)
  • NetWork : 网络工作(信息抓包) 能够看到很多的网页请求

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:20:18  更:2022-01-01 14:21:52 
 
开发: 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 12:52:43-

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