爬虫理论


目录

爬虫的概念

  • 爬虫又称网页蜘蛛或者网页机器人
  • 模拟人操作客户端,向服务器发起网络请求,抓取数据的自动化程序和脚本
  • 爬虫分为聚焦爬虫和通用爬虫
  • 自动化,数据量较小时可以人工获取数据,但往往在公司中爬取的量都在百万级千万级,所以要程序自动化获取数据

B/S C/S 架构

  • B/S架构:Browser/Server,类似淘宝,没有第三方中转,客户端和服务器直接交互
  • C/S:Client/server,类似微信,将微信后端作为中转站,和其他人对话时,需要在中转站传话

通用爬虫

  • 百度,360,搜狐等搜索引擎
    1. 抓取网页
    2. 采集数据
    3. 数据处理
    4. 提供检索服务
  • 通用爬虫抓取新网站的方式
    1. 主动提交url
    2. 设置友情连接
    3. 百度会和DNS服务商合作,抓取新网站
  • 检索排名
    1. 竞价排名
    2. 根据PageRank值,访问量、点击量(SEO)
  • 缺点:
    1. 抓取的内容多数无用。
    2. 无法精确获取数据。
  • robots协议
  1. Robots协议的全称是“网络爬虫排除标准”,网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但是robots协议并不是一个规范,而只是约定俗成的,所以可以不遵守。
  2. 在网址后加上/robots.txt就能查看 https://www.baidu.com/robots.txt

聚焦爬虫

  • 根据需求来抓取指定的数据。
  • 设计思路
    1. 确定 url,发起请求,获取响应
    2. 解析内容,抓取数据
    3. 将数据存储到本地,数据持久化
  • 增量式爬虫
    • 通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新出的新数据。
  • 深度爬虫
    • 针对其实url地址进行数据采集,在响应数据中进行数据筛选得到需要进行数据采集的下一波url地址,并将url地址添加到队列中进行二次爬取…以此类推,一致到所有页面的数据全部采集完成即可完成深度数据采集,这里的深度指代的就是url地址的检索深度。

OSI七层模型

7.应用层:

https/http/ftp  http协议:明文传输,端口80  https协议:加密传输,端口443

6.表示层

5.会话层

4.传输层:UDP/TCP

3.网络层:IP

2.数据链路层:ARP

1.物理层:以太网协议

**

TCP/IP五层模型

应用层:https/http/ftp/ssh/Sftp/

传输层:UDP/TCP

网络层:IP

数据链路层:ARP

物理层:以太网协议

HTTP与HTTPS协议

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 http:// 打头的都是标准 HTTP 服务。

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。


HTTP 与 HTTPS  的区别
1、HTTPS  协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。

2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。

3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。

TCP和UDP

TCP协议是一种面向连接的,可靠的,基于字节流的传输通信协议

1. 有序性:数据包边好,判断数据包的正确次序
2. 正确性:使用checksum函数检查数据包是否损坏,发送和接收时都会计算校验和
3. 可靠性:发送端由超时重发,并有确认机制识别错误和数据的丢失
4. 可控性:滑动窗口协议与拥塞控制算法控制数据包的发送速度

UDP协议是用户数据报协议,面向无连接的传输层协议,传输相对于TCP来说,不可靠

1. 无连接:数据可能丢失或损坏
2. 报文小,传输速度快
3. 吞吐量大的网络传输,可以在一定成都上承受数据丢失

ARP协议

通过IP获取目标计算机的mac地址的协议

	> 交换机不能识别IP地址

服务器创建的默认端口

ftp:21
ssh:22
mySQL:3306
MongoDB:27017
Redis:6379
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值