科林Linux7_网络爬虫

news2024/11/25 16:21:36

一、爬虫

网络资源的下载工具,工作与万维网环境,持续获取网页网站中的网络信息。可持续的数据采集机器人

1、搜索引擎技术使用爬虫

2、数据分析、数据挖掘领域,需要爬虫进行数据准备

3、数据批处理、采集,大量获取某些网站中的网络资源 

爬虫进行数据准备截断,数据下载完毕、如何处理与爬虫无关,爬虫只负责下载

网站之间、网页之间是强关联的,通过超链接技术指向新的网页或网站。通过强关联特性,完成若干网页的拓扑跳转与处理

网页与网页之间有关联:出链接、入链接

理论上,通过一个有效的网页可以拓扑所有的网页。

爬虫在网页的工作:

1. 获取资源

2. 获取跳转地址(新链接)

二、网络资源的种类:

1. 文本资源(txt,html,shtm,xml)

2. 二进制数据(jpg,png,gif,bmp)

3. 音频数据(mp3)

4. 视频数据(mp4,rmvb,flv)

URL网络资源定位符,所有的网络资源,都有唯一的URL

三、关于B/S架构(浏览器/web服务器模型)

爬虫属于客户端,模拟浏览器行为,获取网站资源

使用http协议(基于TCP),只要获取了目标的端口和IP,可以直接对网站web服务进行连接

如果网站使用https协议(SSL),我们需要与网站进行安全连接openssl,否则无法与网站交互

① http协议的使用

② 正则表达式技术(html语言)

1)下载网页

2)提取关键数据

3)匹配更多新地址

爬虫的步骤:

1、下载资源

2、持续拓扑执行,获取若干资源

四、http下载

资源的下载流程(http 80,https 443):

(一)URL地址解析

1. 资源完整的URL

2. 协议类型

3. 网站域名

#include<netdb.h>
struct hostent* ent = gethostbyname(域名);
//ent->h_addr_list;地址表中存储指向服务的公网IP,大端序

4. 存储路径

5. 资源名

6. 端口

7. ip地址

(二)网络初始化

(三)连接

(四)资源下载

1. 构建请求头(http请求协议)

页面请求方式:GET POST 

请求资源权重:对于一个网页的性能和体验来讲,控制好请求发起的优先级是非常重要的,网络带宽是有限的,优先去加载重要的资源,让次要的资源延后,就可以让我们的网站体验提升一个台阶。

长链接:客户端主动连接,客户端主动断开

短连接:客户端主动连接,服务端主动断开,请求响应交互一次

2. 发送请求头

3. 服务器解析请求

4. 爬虫客户端读取响应

根据响应码,判断响应是否成功,成功则进入存储流程

响应头一般都小于8192,为了一次完整的读完响应头,第一次读直接读8192。会读到完整的响应头和一部分响应体

HTTP/1.1 响应码 响应信息\r\n

5. 爬虫处理响应内容获取存储资源到磁盘

五、https下载

关于HHTPS协议,最大限度保证传输安全

openssl技术,可以完成https协议的安全认证

sudo apt-get install libssl-dev
sudo apt-get install libssl-doc

man SSL

http不安全,数据未加密保护,https如何改善?

1. https协议采用嵌套加密方式,最大限度保证传输安全

2. 通过认证,让客户端验证服务器的CA数字证书,看是否有效

加密:密钥对。多个公钥和一个私钥构成,密文串由128位随机码组成,保证唯一性

私钥加密数据,公钥解密

对称加密:安全性低,适合加密大段数据,速度快

非堆成加密(RSA):安全性高,适合加密小段重要数据,速度慢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1870724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测试用例设计方法-判定表法

一、简介 测试用例设计的重要性和挑战 在软件开发过程中&#xff0c;测试用例的设计是确保软件质量的关键步骤之一。测试用例是描述如何验证软件功能是否按照预期工作的详细指导。它们不仅帮助发现潜在的缺陷和问题&#xff0c;还能确保软件在不同情况下的稳定性和可靠性。以下…

redis集群简单介绍及其搭建过程

Redis集群 1、哨兵模式 哨兵可以有多个&#xff0c;从服务器也可以有多个&#xff0c;从服务器也可以有多个&#xff0c;在Redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则会实现主从切换&#x…

Potato(土豆)一款轻量级的开源文本标注工具(二)

示例项目&#xff08;模版&#xff09; Potato 旨在提高数据标注的可复制性&#xff0c;并降低研究人员设置新标注任务的成本。因此&#xff0c;Potato 提供了一系列预定义的示例项目&#xff0c;并欢迎公众向项目中心贡献。如果您使用 Potato 进行了自己的标注工作&#xff0…

RK3568开发笔记(三):瑞芯微RK3588芯片介绍,入手开发板的核心板介绍

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/139905873 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

临时挂载字体文件工具

一、简介 1、FontLoader是一款专为字体管理和快速加载设计的工具&#xff0c;它能够在不占用系统资源的情况下&#xff0c;实现字体的临时加载和快速切换。用户可以将字体文件存放在系统之外的硬盘分区&#xff0c;并通过FontLoader直接从内存中加载这些字体&#xff0c;从而避…

用英文介绍巴黎:Paris, France‘s MEGACITY Europe‘s Largest City

Paris, France’s MEGACITY: Europe’s Largest City Link: https://www.youtube.com/watch?vbdObzSwVAw4&listPLmSQiOQJmbZ7TU39cyx7gizM9i8nOuZXy&index22 Paris, France is the grand megacity of Europe at the forefront of human progress. Summary Summary …

多媒体本地化的五个步骤

多媒体本地化为试图在多个全球目的地建立市场的企业提供了许多好处。 由于多媒体并不局限于一个内容标签&#xff0c;因此您需要注意一些元素。 这个过程通常从翻译开始&#xff0c;但因为我们处理的是视频和音频&#xff0c;所以从一开始就要处理一个附加层。让我们从这里开…

YOLOv8改进 | 注意力机制 | 迈向高质量像素级回归的极化自注意力【全网独家】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有…

STM32F407之SPI(软件)

基础知识&#xff1a; SPI是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线。使用3 条总线及n个片选线&#xff08;n取决于从机数量&#xff09;&#xff0c;SPI可以一个主机连接单个或多个从机&#xff0c;每个从机都有唯一片选线。 MOSI&#xff08;主机输出/从机输…

05 Shell编程之免交互

1、Here Document免交互 1.1 Here Document概述 Here Document是一个特殊用途的代码块&#xff0c;它是标准输入的一种替代品&#xff0c; 可以帮助脚本开发人员不必使用临时文件来构建输入信息&#xff0c;而是直接就地生产出一个文件并用作命令的标准输入。 Here Documen…

链在一起怎么联机 链在一起远程同玩联机教程

steam中最近特别热门的多人跑酷冒险的游戏&#xff1a;《链在一起》&#xff0c;英文名称叫做Chained Together&#xff0c;在游戏中我们需要开始自己的旅程&#xff0c;在地狱的深处&#xff0c;与我们的同伴被链在一起。我们的任务是通过尽可能高的攀登逃离地狱。每一次跳跃都…

linux中awk,sed, grep使用(待补充)

《linux私房菜》这本书中将sed和awk一同归为行的修改这一点&#xff0c;虽然对&#xff0c;但不利于实际处理问题时的思考。因为这样的话&#xff0c;当我们实际处理问题时&#xff0c;遇到比如说统计文本打印内容时&#xff0c;我们选择sed还是awk进行处理呢&#xff1f; 也因…

2024年天津市安全员C证证模拟考试题库及天津市安全员C证理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年天津市安全员C证证模拟考试题库及天津市安全员C证理论考试试题是由安全生产模拟考试一点通提供&#xff0c;天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材&#xff0c;天津市安全员C证大纲整理…

联想至像M3070DNA打印机加粉及清零方法

基本参数&#xff1a; 产品类型&#xff1a;黑白激光多功能商用一体机&#xff08;打印/复印/扫描&#xff09; 网络功能&#xff1a;支持有线网络打印 最大处理幅面&#xff1a;A4 双面功能&#xff1a;自动 打印速度&#xff1a;30页/分钟&#xff08;高速激光打印&…

安卓webview内h5页面调用录音设置

h5页面调用录音接口getUserMeia在webview中有可能不成功&#xff0c;进入错误回调&#xff0c;这个时候webview尽可能设置下面这些权限就会好。

【深海王国】小学生都能玩的语音模块?ASRPRO打造你的第一个智能语音助手(1)

Hi~ (o^^o)♪, 各位深海王国的同志们&#xff0c;早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω) 今天大都督将为大家带来全新系列——小学生都能玩的语音模块&#xff0c;帮你一周内快速学会语音模块的使用方式&#xff0c;打造一个可用于智能家居、物联网领域的语音…

Zabbix 监控系统部署

Zabbix 监控系统部署 Zabbix是一个企业级开源分布式监控解决方案&#xff0c;可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的运行状况和完整性。 Zabbix 使用灵活的通知机制&#xff0c;允许用户为几乎任何事件配置基于电子邮件的警报。这允许…

高频科技亮相SEMl-e2024第六届深圳国际半导体展,以超纯工艺推动行业发展

6月26-28日,SEMl-e2024第六届深圳国际半导体展在深圳国际会展中心(宝安新馆)隆重举办。本次展会以【“芯”中有“算”智享未来】为主题,汇聚800多家展商,集中展示了集成电路、电子元器件、第三代半导体及产业链材料和设备为一体的半导体产业链,搭建了供需精准对接、探索行业新发…

8大趋势,重塑金融服务行业

谈论“金融服务行业”就像谈论“亚洲大陆”。这是因为&#xff0c;通用行业概念但它掩盖了许多细分领域的细微差别和多样性&#xff0c;以及人们思考、工作和感受方式的巨大差异。 银行应用程序和一个量化交易公司都是金融服务公司&#xff0c;但它们的运营方式可能天壤之别。…

嵌入式计算器模块实现

嵌入式计算器模块规划 计算器混合算法解析 上面我们的算法理论已经完善, 我们只用给一个混合运算式, 计算器就可以帮助我们计算出结果. 但是存在一个痛点, 每次计算算式,都要重新编译程序, 所以我们想到了, 利用单片机, 读取用户输入的按键, 组成算式, 输入给机器, 这样我们就…