爬虫理论

tech2022-11-02  139


目录

文章目录

目录@[toc]爬虫的概念B/S C/S 架构通用爬虫聚焦爬虫OSI七层模型TCP/IP五层模型HTTP与HTTPS协议TCP和UDPARP协议服务器创建的默认端口

爬虫的概念

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

B/S C/S 架构

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

通用爬虫

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

聚焦爬虫

根据需求来抓取指定的数据。设计思路 确定 url,发起请求,获取响应解析内容,抓取数据将数据存储到本地,数据持久化 增量式爬虫 通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新出的新数据。 深度爬虫 针对其实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
最新回复(0)