1.初识爬虫

news2024/10/5 22:11:39

爬虫是批量模拟网络请求的程序,想百度谷歌这种搜索类网站本质上就是爬虫

使用爬虫的时候不应该对别人的网站有严重的影响,比如你爬的频率太高了,让人家的网站崩溃了。不应该爬取网页上显示不到的内容,比如有一个直播的网站,人家显示的是热度值而不是具体人数,热度值是根据具体人数计算出来的,但是具体人数人家没展示在网页上,这个时候你不应该爬具体人数

目录

1  爬虫的分类

2  反爬机制与反反爬策略

3  robots.txt

4  加密方式


1  爬虫的分类

爬虫分为下面三类

  • 通用爬虫:搜索引擎(百度谷歌这种)抓取系统的主要组成部分,通用爬虫抓取一整张页面的数据
  • 聚焦爬虫:基于通用爬虫抓取整张页面数据后提取页面中特定的局部内容
  • 增量式爬虫:检测网站中数据更新的情况,只抓取增量内容(新更新的数据)

2  反爬机制与反反爬策略

反爬机制:被爬的网站设置不让你爬的一些规则。比如被爬的网站就可以设置同一个mac码一秒中的访问数量不能超过两次

反反爬策略:想爬取网站的人规避反爬机制的策略。比如被爬的网站设置了同一个mac码访问频率,你就可以多搞几个mac码去访问,从而得到数据

爬虫是一门对抗类的技术,你想爬但没爬到你就输了,你想不让别人爬但是别人爬到了那你就输了。这种对抗类的技术如果你想成功率高的话需要投入很多,所以面对某一些反爬机制强的网站,及时的放弃不一定是坏事

3  robots.txt

网站被爬不全是坏事,网站被爬可以带来流量。但我们又不希望网站无限制被爬,这个时候就产生了robots.txt协议,robots.txt协议由被爬的网站注明,其中会写明网站哪些东西可以被爬,哪些东西不可以被爬。robots.txt中的内容对于代码没有任何约束,只是给人看的,你如果爬了robots.txt中的禁止爬取的内容人家可能会去法院告你

我们可以在网站的域名后加上 /robots.txt 来查看当前网站的robots.txt协议。比如百度,这里面就告诉你哪个路由你不能动

再比如淘宝,他的robots.txt就是百度不准爬跟路径,剩下的都能爬。如果你不是百度,那你根路径也能爬

4  加密方式

对称密钥加密:客户端或服务端把密钥与信息一起发到对方(客户端发给服务端,服务端发给客户端),然后由服务端解密。如果发送的过程中信息被捕获了,那么加密信息与密钥都会暴露,相当于信息泄露了

非对称密钥加密:A是客户端,B是服务端,总的来讲就是就是客户端与服务端都加密。如果发送的过程中信息被捕获了,信息不会泄露。客户端的的加密方式叫私钥,服务端的加密方式叫公钥

非对称密钥中没有私钥的传递

非对称密钥加密的缺点是,如果在 步骤2 被捕获了,也就是公钥暴露了,第三方就可以篡改公钥,导致客户端收到的响应不对。而且非对称加密的效率很低

证书密钥加密:在对称加密的基础上对 步骤2 进行了改进,客户端先把密码发送给 证书认证机构,然后证书认证机构给公钥签名做防伪(签名后的公钥叫做证书),之后把证书发给服务端

证书密钥加密是https的加密方式

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

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

相关文章

【SLAM】G2O优化库超详细解析

G2O,与ceres并列为目前视觉SLAM中应用最广泛的优化算法库。它最大的特点就是基于图优化设计,这对于视觉SLAM来说是异常适配的。在很多的SLAM库的中都使用到它来进行优化操作,比如ORB-SLAM。 代码仓库:https://github.com/RainerK…

渗透测试漏洞原理之---【不安全的反序列化】

文章目录 1、序列化与反序列化1.1、引入1.2、序列化实例1.2.1、定义一个类1.2.2、创建 对象1.2.3、反序列化1.2.4、对象注入 2、漏洞何在2.1、漏洞触发2.1.2、定义一个类2.1.3、定义一个对象2.1.3、反序列化执行代码 2.2 为什么会这样 3、反序列化漏洞攻防3.1、PHP反序列化实例…

[杂谈]-快速了解LoRaWAN网络以及工作原理

快速了解LoRaWAN网络以及工作原理 文章目录 快速了解LoRaWAN网络以及工作原理1、LoRaWAN网络元素1.1 终端设备(End Devices)1.2 网关(Gateways)1.3 网络服务器(Net Server)1.4 应用服务器(Appli…

计算机网络的故事——确认访问用户身份的认证

确认访问用户身份的认证 HTTP使用的认证方式:BASIC认证(基本认证)、DIGEST(摘要认证)、SSL客户端认证、FormBase认证(基于表单认证)。 基于表单的认证:涉及到session管理以及cookie…

Mock 基本使用

mock解决的问题 开发时,后端还没完成数据输出,前端只好写静态模拟数据。数据太长了,将数据写在js文件里,完成后挨个改url。某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼。想要尽可能还原真实的数据&#xff0c…

【Springcloud】Sentinel熔断和降级

【Springcloud】Sentinel熔断和降级 【一】基本介绍【1】什么是熔断和降级【2】为什么使用熔断和降级【3】Sentinel熔断和降级【4】核心概念 【二】下载方式【1】Windows平台安装包下载【2】打开控制台 【三】使用案例【1】添加依赖【2】添加Sentinel配置【3】添加TestUserCont…

网络类型+二层封装技术

一、网络类型分类 1、点到点网络 在一个网段中,只能部署两个节点(两个IP),如GRE环境就属于虚拟的点到点网络类型,通常是串线连接。 如下图当前只存在两个节点,但并不是点到点,因为它中间网段…

简易版人脸识别qt opencv

1、配置文件.pro #------------------------------------------------- # # Project created by QtCreator 2023-09-05T19:00:36 # #-------------------------------------------------QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET 01_face TEMP…

【trie树】CF Edu12 E

Problem - E - Codeforces 题意: 思路: 这其实是一个套路题 区间异或转化成前缀异或,然后枚举 i 对于每一个 i,ai ^ x k,对 x 计数 先建一棵字典树,然后在字典树上计数 先去对 > k 的部分计数&a…

m8130kt GPS模块测试

m8130kt GPS模块测试 ✨在某宝捡电子垃圾,10块钱的价格,就是没有资料可以提供的。上面携带有u-blox UBX-M8130-KT芯片,是肯定的,至于HMC5883芯片不确定,拆了屏蔽罩,芯片实在是太小,使用40倍放大…

SpringCloud实战项目(1)---创建空项目 jdk17

创建空项目 New ProjectAdd Jdk17创建空白标准Maven项目不要选择Create from archetype选项填写相关项目信息创建项目得到一个标准的maven项目,作为一个Parent project存在的,需删除src文件夹。 New Project 使用Idea, File -> New ->Project Add …

语音特征提取与预处理

导入相关包 import librosa import librosa.display import soundfile as sf import numpy as np import matplotlib.pyplot as plt from playsound import playsound 语音读取与显示 file_path test1.wav data, fs librosa.load(file_path, srNone, monoTrue) librosa.d…

word如何插入图片?3种常用的方法

word作为一款常用的办公软件,不仅可以处理文本内容,还能够轻松地插入图片以丰富文档内容。插入图片可以使文档更具吸引力、可读性和信息传达能力。本文将为您介绍word如何插入图片的3种方法,帮助您在文档中灵活、高效地添加图像元素。 word插…

SLAM从入门到精通(矩阵的使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 学习SLAM,离开了矩阵肯定是玩不转的。大学数学里面除了微积分,剩下的就是线性代数和概率论。而矩阵就是线性代数的一部分。…

selenium 动态爬取页面使用教程以及使用案例

Selenium 介绍 概述 Selenium是一款功能强大的自动化Web浏览器交互工具。它可以模拟真实用户在网页上的操作,例如点击、滚动、输入等等。Selenium可以爬取其他库难以爬取的网站,特别是那些需要登录或使用JavaScript的网站。Selenium可以自动地从Web页面…

在多机多卡训练时,保存的文件无法读取,报错文件已经损坏

问题描述&#xff1a;多机多卡训练保存了optimizer.pt文件&#xff0c;但是该文件在被读取时显示已经损坏。 原来的报错&#xff1a; Traceback (most recent call last):File "/mnt/petrelfs/tongjingqi/train-moe/smoe/entrypoint/cpt_fpt.py", line 280, in <…

Android Aidl跨进程通讯(三)--进阶使用

学更好的别人&#xff0c; 做更好的自己。 ——《微卡智享》 本文长度为2478字&#xff0c;预计阅读6分钟 前言 Android的AIDL使用和异常报错都已经介绍过了&#xff0c;今天这篇还是在原来的Demo基础上加入几个AIDL的进阶使用方法。 】 AIDL进阶使用 微卡智享 in,out,inout的使…

定时线程池原理解析

基本使用 ScheduledThreadPoolExecutor继承自ThreadPoolExecutor。它主要用来在给定的延迟之后运行任务&#xff0c;或者定期执行任务。 public class ScheduledThreadPoolExecutorTest {public static void main(String[] args) {ScheduledThreadPoolExecutor threadPoolExecu…

QT DAY7

主要完成多人聊天室&#xff0c;注册与登录使用sql3数据库进行对密码的保存&#xff0c;避免了用户重复登录、错误密码登录、重复注册的问题&#xff0c;之后使用TCP通信&#xff0c;连接上服务器后可在聊天室多人交流

怎么处理zk或redis脑裂

很极端场景会出现脑裂 什么是分布式的脑裂 怎么理解zk脑裂 就是ZK&#xff0c;与客户端可能因为网络原因&#xff0c;客户端A还在跑着后续程序&#xff0c;而zk与客户端之前的心跳断了&#xff0c;此zk就把这节点给删除了&#xff0c;这时另一个客户会加锁成功&#xff0c;就样…