爬虫基础

38 篇文章 0 订阅
20 篇文章 2 订阅

基本概念:

1、通用爬虫:可理解为搜索引擎,例如百度、google等,针对的是互联网上所有的资源

2、聚焦爬虫:可理解为爬取指定内容的爬虫

3、URI:统一资源标识符,即标明网络资源的字符串

4、URL:统一资源定位符,即网络资源的地址,包括协议、服务器名称或IP、文件资源的路径三部分组成

5、DNS服务器:用于解析网址,返回服务器IP地址的服务器。
 

爬虫所依赖的应用层的协议:HTTP协议(超文本传输协议,用于收发HTML)、HTTPS协议(HTTP协议的安全版,在HTTP的基础上添加SSL层(安全套接层),保证了数据传输的安全性)。

 

数据传输的流程:

1、用户在浏览器的地址栏中键入URL并回车后,浏览器向DNS服务器发送请求。

2、DNS服务器返回某IP地址,该IP地址拥有前面请求的资源。

3、浏览器向拥有某资源的服务器发送request请求。

4、服务器返回response响应。

5、浏览器解析response响应,如果响应中还有其他链接,则继续请求,直至完成。

6、浏览器渲染response,并显示。

 

客户端HTTP之request请求包括:请求行(请求方法、url、版本协议)、请求报头、空行、请求数据

服务器HTTP之response响应包括:状态行、消息报头、空行、响应正文

 

浏览器请求方法:

GET 请求指定页面,返回实体主体

HEAD 请求指定页面,返回报头

POST 请求指定页面前,先提交数据,并返回指定内容。

PUT 从客户端向服务器传输数据,用于取代指定文档的内容

DELETE 请求服务器删除指定页面

CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器(不理解啥意思)。

OPTIONS 允许客户端查看服务器的性能

TRACE 回显服务器收到的请求,主要用于测试或诊断

 

常用的请求报头:

1、Host(主机和端口号):对应网址URL的web名称和端口号

2、Connection(链接类型):表示客户端与服务器的链接类型,Connection:keep-alive | close

3、Upgrade-Insecure-Requests:升级为HTTPS的请求

4、User-Agent:浏览器的名称

5、Accept(传输文件类型):*/*  |  image/gif  |  text/html  

6、Referer(页面跳转处):表名产生请求的网页来自于哪个URL

7、Accept-Encoding(文件编解码格式):指浏览器可以接受的编码方式

8、Accept-Language(语言种类):指浏览器可以接受的语言种类,en | en-us | zh | zh-cn

9、Accept-Charset(字符编码):指浏览器可以接受的字符编码,iso-8859-1  |  gb2312  |  utf-8

10、Cookie:寄存在浏览器中的小型数据体,记载了用户的信息。

11、Content-Type(post数据类型):请求数据的类型

 

常用的响应报头:

1、Cache-Control:must-revalidate,no-cache,private

2、Connection:keep-alive

3、Content-Encoding:gzip

4、Content-Type:text/html;charset=UTF-8

5、Date:标准时间

6、Expires

7、Pragma:no-cache

8、Server:Tengine/1.4.6

9、Transfer-Encoding:chunked  分块发送

10、Vary:Accept-Encoding  是否是压缩文件

 

Cookie:通过在  客户端  记录的信息确定用户的身份

Session:通过在 服务器  记录的信息确定用户的身份

 

响应状态码:

100~199:表示服务器成功接收部分请求,要求客户端继续提交剩余请求才完成处理过程

200~299:表示服务器成功接收请求,并已完成整个处理过程

300~399:为完成请求,客户需进一步细化请求,即重定向

400~499:客户端的请求有错误,常用404(服务器无法找到文件),403(拒绝访问,权限不够)

500~599:服务器端出现错误,常用500

 

bytes:

数据在互联网上是通过二进制传输的,所以在传输时,需要将 str 转换成 bytes 格式;在接收时,通过               decode()解码成需要的编码进行数据处理。

补充说明:在Python2中,不区分str和bytes,所以可以直接通过 encode() 和 decode() 方法进行编码解码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值