欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2021/4/16爬虫第二次课(爬虫简介)

程序员文章站 2022-06-05 18:53:25
...

端口

网络协议

  • HTTP 通信协议 80
  • HTTPS 安全版本 443

HTTP的请求与响应

1 HTTP通信由两部分组成: 客户端请求消息 与 服务器响应消息
2 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
3 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
4 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
5 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

客户端的Http请求

  • URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求消息,包括以下格式:
  • 请求行、请求头部、空行、请求数据
  • 四个部分组成,下图给出了请求报文的一般格式
    2021/4/16爬虫第二次课(爬虫简介)

General 全部的

  • 1 Request URL 请求的地址
  • 2 Request Method 请求的方式
  • 3 Status Code 状态码

Response Headers 服务器的响应

Request Headers 客户端的请求

  • Host: www.baidu.com 域名
  • Connection: keep-alive
  •  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 (用户代理) [反反爬的第一步]
    
  • Accept-Encoding: gzip, deflate, br 不要加上
  • Cookie:xxxxx

Query String Parameters 参数

什么是爬虫?

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

为什么需要爬虫?

为其它的程序提供数据源 搜索引擎 app…
数据分析
AI 人工智能 (人脸识别 智能家居 无人驾驶 智能语音 …)

企业获取数据的方式?

1 公司自有的

2 第三方平台购买

百度指数(免费)
数据堂
3 爬虫开发程序员

几个概念

GET和POST

  • get 请求 一般情况下 只从服务器获取数据下来,并没有对服务器产生影响 (特点:它的请求参数都在这个url地址之上)

  • post 请求 向服务器发送数据(登录)、上传文件 (它的参数不会出现在url地址之上)

URL 全球统一资源定位符

‘https://new.qq.com/omn/TWF20200/TWF2020032502924000.html’

https: 协议

new.qq.com:host(域名)

omn/TWF20200/TWF2020032502924000.html:访问资源路径

anchor: 锚点 前端里面做页面定位的

[注:]
https://www.baidu.com/s?wd=老师
https://www.baidu.com/s?wd=%E8%80%81%E5%B8%88
为什么要进行一个编码?
在浏览器当中请求一个Url,浏览器会对这个url进行一个编码,除了英文字母,数字和部分符号之外,其他的全部使用百分号+十六进制进行编码

User_Agent

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 

浏览器 版本 内核 操作系统…

cookie 记录用户相关的信息

http协议本身是无状态的 服务器无法判断用户的身份 cookie实际上就是一段文本信息 (kay-value格式)
cookie 时间限制 比较长 一般情况先别加