爬 虫 基 础

目录

http基本原理:

超文本:英文名称hypertext,简单来说HTML代码就是超文本,而我们看到的网页就是超文本解析而成。

HTTP请求过程

响应

由服务器返回给客户端,分为三部分:响应状态码,响应头,响应体。

响应状态码:表示服务器的响应状态,200表示服务器响应正常,404代表页面未找到。

响应头:包含服务器对请求的应答信息。 

响应体:响应的正文数据都在响应体中,比如请求网页时,它的响应体就是网页的HTML代码,如下图。

网页基础

网页可以分为三大部分:HTML、CSS、JavaScript

爬虫概述:简单来说,爬虫就是获取网页并提取和保存信息的自动化程序。

会话和cookies

代理


http基本原理:

Uri:全称为“Uniform Resource Identifier”,即统一资源标识符。

Url:全称为“Universal Resource Locator”,即统一资源定位符。

通俗的来讲url就是uri,而uri包括了url和urn,目前我们常见的都是url。

例如:

“https://www.baidu.com/?tn=02003390_79_hao_pg”

这就是一个url。

一个完整的url包括三部分:

第一部分是协议(或称为服务方式);

第二部分是存有该资源的主机IP地址(有时也包括端口号),简单来说就是网址;

第三部分是主机资源的具体地址,如目录和文件名等,简单来说就是文件地址。

第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略


下面详细地介绍url的3个部分:

第一部分:协议

淘宝的url:https://www.taobao.com/

百度的url:百度一下,你就知道百度一下,你就知道https://www.baidu.com/

可以看到无论是百度还是淘宝他们的url第一部分都是https,意味它们都遵循https协议,目前常见的协议类型有http、https。

HTTP的全称是Hyper Text Transfer Protocol,中文名叫超文本传输协议。

HTTP协议主要作用:
1、客户与服务器建立连接;
2、客户向服务器提出请求;
3、服务器接受请求,并根据请求返回相应的文件作为应答;
4、客户与服务器关闭连接。

HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,能保证高效而准确的传送超文本文档,简单来说就是可以辅助浏览器与服务器之间的传输数据,当你用浏览器打开一个网页,首先是客户端向服务器发送请求,而服务器返回“响应”(简单来说就是你所看到的网页内容),而协议就是在这个过程中起辅助作用。

第二部分:网址

网址部分大家也经常用到,比如:www.baidu.com, www.taobao.com。这都是网址,当我们在地址栏输入一个网址的时候,协议部分是不用输入的,浏览器会自动补上默认的HTTP协议。

对于www.taobao.com这个网址,如果我们去掉前缀www,即taobao.com,这个部分就叫域名,而域名最右边的com就是顶级域名,常见的比如:.com 表示商业机构,.org表示非盈利性组织,.gov表示政府机构,.edu表示教育及科研机构。用来表示国家顶级域名的比如:.cn表示中国,.us表示美国,.jp表示日本。虽然一个标准的URL地址看起来很复杂,但其实我们在输入URL的时候是只要输入网址或域名就可以了。

至于第三部分就不再赘述。

注意:百度一下,你就知道https://www.baidu.com/?tn=02003390_79_hao_pg

该URL最后一部分?tn=02003390_79_hao_pg

并非资源的具体地址,而是请求的参数。在该URL中的第三部分被省略了。


超文本:英文名称hypertext,简单来说HTML代码就是超文本,而我们看到的网页就是超文本解析而成。

例如:

这些都叫做超文本。


HTTP请求过程

我们在浏览器中输入一个URL,回车之后就能看到网页内容,这个过程实际上是浏览器向该网站所在的服务器发送了一个请求,服务器接受请求后进行处理和解析,然后返回对应的响应,接着传回给浏览器,响应里包含页面源码等内容,浏览器再经过解析,我们便能看到内容。

请求:请求由客户端向服务器发出,分为四部分:请求方法,请求网址,请求头,请求体。

请求方法:

常见的分为两种:GET和POST。

GET:

我们在浏览器中直接输入URL并回车,便发起了一个GET请求,请求参数便包含在内。

例如:百度一下,你就知道https://www.baidu.com/?tn=02003390_79_hao_pg

最后一个‘/’后的内容便是参数。

POST:

大多在表单提交时发起,比如,对于一个需要登录账号密码的网站,即登录表单,你需要输入账号和密码,这时就会发送一个POST请求,而POST与GET区别在于POST请求参数不会出现在URL中,这也就是为什么需要登录的请求都采用POST方式,如果用GET方式,那么用户的账号密码都会暴露在URL中。

请求网址:

百度一下,你就知道https://www.baidu.com/?tn=02003390_79_hao_pg

在这个URL中请求网址就是www.baidu.com

请求头:

用来说明服务器要使用的附加信息,就是服务器所需要的东西。

比较重要的有Cookie,Referer,User-Agent。

Referer:用来标识这个请求是从哪一个页面发过来的,服务器可以拿这一信息用于防盗链处理(一种反爬方式)。

User-Agent:可以使服务器识别客户使用的操作系统及版本、浏览器及版本等信息,做爬虫时加上此信息,可以将爬虫伪装成浏览器,以防止反爬。

请求头是请求的重要组成部分,在写爬虫时,通常要设定请求头。

请求体:

请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体则为空。


响应

由服务器返回给客户端,分为三部分:响应状态码,响应头,响应体。

响应状态码:表示服务器的响应状态,200表示服务器响应正常,404代表页面未找到。

响应头:包含服务器对请求的应答信息。 

响应体:响应的正文数据都在响应体中,比如请求网页时,它的响应体就是网页的HTML代码,如下图。

请求一张图片时,它的响应体就是图片的二进制数据,我们做爬虫请求网页时,要解析的内容就是响应体。 


网页基础

网页可以分为三大部分:HTML、CSS、JavaScript

HTML就是一种用来描述网页的语言,全称叫做Hyper Text Markup Language,即超文本标记语言。

CSS全称叫做Cascading Style Sheets,即层叠样式表,用来让页面变得更美观。

JavaScript是一种脚本语言,我们在网页里看到的动画、交互效果,如轮播图、进度条就是JavaScript在起作用。


爬虫概述:简单来说,爬虫就是获取网页并提取和保存信息的自动化程序。

会话和cookies

首先先介绍HTTP的一个特点叫做无状态,无状态是指服务器不知道客户端是什么状态,每个请求和响应都是独立的,缺少状态记录。

举个简单的例子,比如你登录一个购物平台,你首先输入了你的账号密码,然后由浏览器向服务器发送请求,服务器核对你的账户密码,返回响应,之后你点开一个商品,相当于又发起了一个url请求,但由于HTTP是无状态的,也就是说服务器并不知道是你再次发送的请求,因为请求之间是相互独立的,这时服务器需要再次核对你的身份信息,也就是你的账号密码,因此你需要再次输入账号密码才能打开商品网页。因此便有了会话和cookie的诞生。

会话和cookie用于保持HTTP连接状态,会话在服务端,cookie在客户端。

当你第一次请求服务器时,服务器会返回一个带有cookie的响应,而下次你再访问服务器时,请求中都会包含这个cookie。

比如说,你登陆一个网站,输入你的账号密码,服务器返回一个带有cookie的响应,这个cookie相当于你登录的凭证,而同时在服务器一端也会有与cookie相对应的一个会话,会话储存用户的状态信息,当你在该网站中点开其他网页时,请求中包含了服务器发送给你的cookie,服务器通过cookie找到对应的会话,从而知道你的状态信息,而返回给你想要的响应(也就是网页内容)。

JavaScript渲染页面:有时候我们用requests抓取网页时,得到的源代码和浏览器中看到的不一样,可能是因为网页经过了JS渲染,而我们得到的原始HTML并不能得到真正的网页。所谓JS渲染就是在HTML代码中引入了JS文件,浏览器在识别到HTML中的JS文件会向服务器发送请求,得到了文件后就会执行其中的JS代码,最后就能得到完整的页面。而我们用爬虫爬取的HTML代码并不能加载出JS文件,所以我们就看不到完整的页面内容。


代理

代理实际上就是代理服务器,英文叫做proxy server,就是其他计算机的IP地址,再简单一点就是一个中转站。正常请求一个网站时,我们发送请求给服务器,服务器返回响应给我们。当使用代理时,就是我们发送请求给代理服务器,代理服务器发送给Web服务器,之后返回响应给代理,代理再给我们。当我们用爬虫爬取网页时,可能会因为访问次数过多,被服务器认定为恶意访问,从而被封IP,也就是进了服务器的黑名单,当你想要再次访问时就会失败,而代理的作用就是用来防止服务器封你主机的IP,从而达到隐藏的效果。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《航空航天器运动的建模——飞行动力学的理论》是一本关于航空航天器运动模型建立和飞行动力学的理论的PDF文档。这本书通过对航空航天器的运动进行建模,通过数学模型和物理原理来描述其运动行为。 航空航天器的运动建模是研究航天器运动行为和控制的重要。通过建立合适的数学模型,可以对航空航天器的运动进行预测和控制。这本书首先介绍了航空航天器运动的本概念和运动方程。然后,它详细介绍了航空航天器的力学建模,包括重力、空气动力学和推进动力学。这些建模方法可以帮助研究人员了解航空航天器在不同环境和条件下的运动特性,例如在大气层内和外的运动特性。 该PDF文档还介绍了航空航天器的飞行动力学。飞行动力学是研究航空航天器在飞行中所受到的各种力和力矩的学科。它主要包括气动力学、惯性导航和控制理论。通过深入学习飞行动力学,研究人员能够了解航空航天器在飞行过程中所受到的各种外界扰动和内部控制力的作用,从而制定出相应的控制策略。 总之,《航空航天器运动的建模——飞行动力学的理论》这本PDF文档是一本介绍航空航天器运动建模和飞行动力学理论的重要参考书。通过学习这本书,读者可以了解航空航天器运动的数学建模方法和飞行动力学的理论,从而更好地理解和研究航空航天器的运动行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值