网络爬虫的危害,如何有效的防止非法利用
近年来,不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。2023年8月23日,北京市高级人民法院召开北京法院侵犯公民个人信息犯罪案件审判情况新闻通报会,通报侵犯公民个人隐私信息案件审判情况,并发布典型案例。在这些典型案例中,不法分子多是通过社交软件群、网站论坛等平台买卖或交换个人信息,“爬虫”软件成为收集大量信息的常用软件之一。
网络数据爬虫,又称为网络数据蜘蛛、互联网机器人等。它通过爬取互联网上网站的内容来工作。它是用计算机语言编写的程序或脚本,用于自动从Internet上获取任何信息或数据。爬虫扫描并抓取每个所需页面上的某些信息,自动实现对目标站点和目标信息的批量获取,包括信息采集、数据存储、信息提取。在利用爬虫技术时应采用搜索引擎的爬虫来对网页上的信息进行搜集和存储,应当严格遵守Robots协议规范爬取网页数据(如URL)。禁止未经合法授权或超越授权去侵入它人的网站服务器,确保爬虫程序不会突破或绕开网站服务器的防护措施。
爬虫技术手段
爬虫通用架构如下:
爬虫从待抓取URL队列依次读取,并将URL通过DNS解析,把链接地址转换为网站服务器对应的IP地址。然后将其和网页相对路径名称交给网页下载器,网页下载器负责页面的下载。对于下载到本地的网页,一方面将其存储到页面库中,等待建立索引等后续处理;另一方面将下载网页的URL放入已抓取队列中,这个队列记录了爬虫系统已经下载过的网页URL,以避免系统的重复抓取。对于刚下载的网页,从中抽取出包含的所有链接信息,并在已下载的URL队列中进行检查,如果发现链接还没有被抓取过,则放到待抓取URL队列的末尾,在之后的抓取调度中会下载这个URL对应的网页。如此这般,形成循环,直到待抓取URL队列为空。
爬虫的几种分类:
通用爬虫:
通用爬虫又称全网爬虫,它将爬取对象从一些种子 URL扩充到整个Web上的网站,主要用途是为门户站点搜索引擎和大型Web服务提供商采集数据。
聚焦爬虫:
聚焦爬虫,又称主题网络爬虫,是指选择性地爬行那些与预先定义好的主题相关的页面的网络爬虫。
增量式爬虫:
增量式网络爬虫是指在具有一定量规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行抓取,以保证所抓取到的数据与真实网络数据足够接近。
表层爬虫:
爬取表层网页的爬虫叫做表层爬虫。表层网页是指传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主构成的Web页面。
深层爬虫:
爬取深层网页的爬虫就叫做深层爬虫。深层网页是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的 Web 页面。
数据防护措施方案:
不法分子利用恶意爬虫不遵守网站的robots协议,对网站中某些深层次的、不愿意公开的数据肆意爬取,其中不乏个人隐私或者商业秘密等重要信息,并有可能给对方服务器性能造成极大损耗。未经过网站服务器的合法授权去抓取数据会干扰网站的正常运营,而非正规爬虫自动持续且高频次地对网站服务器发起请求,服务器负载飙升,同一时间大量的爬虫请求会让网站服务器过载或崩溃,尤其是中小网站可能会面临网站打不开、网页加载极其缓慢、甚至直接瘫痪的情况。下面我讲介绍几种防护方法:
1.Uswe-Agent 反爬虫
User-Agent是请求头的一部分,在用户请求网站时会告诉网站服务器,网站服务器可以通过请求头参数中的 User-Agent 来判断请求方是否是浏览器、客户端程序或者其他的终端,如果是通过爬虫方式请求则为默认的请求头信息,直接过滤拒绝访问,如果是用户浏览器,就会应答。
在网站服务器设置User-Agent,添加指定的User-Agent请求头信息,User-Agent存放于Headers中,网站服务器就是通过查看Headers中的User-Agent字段中的值来判断是谁在请求访问网站。当用户或者爬虫程序请求访问网站时网站服务器会自动的去检测连接对象,如果检测到请求头中未包含指定的User-Agent的话,网站本身的反爬虫程序就会识别出你是通过爬虫程序在访问网站,网站服务器会判断是非法请求,从而拒绝访问 。如果检测对象的User-Agent为指定的请求头信息则接受访问。
2.黑名单策略
在网站服务器中配置黑名单策略,当请求方发起请求后网站服务器进行识别、只要编程语言出现在黑名单策略中,都视为爬虫,对于此类请求可以不予处理或者返回相应的错误提示。
2.User-Agent访问
网站服务器后台对访问进行统计,如果单个User-Agent访问超过指定阈值,予以临时封锁或永久性封锁。
3.单个IP访问
网站服务器后台对请求访问的IP进行统计,如果单个IP访问超过指定阈值,予以临时封锁或永久性封锁。
结语 :
当前,互联网数据作为新型生产要素,正深刻影响着国家经济社会的发展。大量恶意爬虫窃取网站核心数据,应当采取数据防护措施手段,保障数据得到有效保护和合法利用,并使数据持续处于安全状态的能力以及保障网站服务器的正常运转和降低服务器的压力与运营成本。通过反爬虫技术手段对网站数据进行防护,避免被那些不遵守网站robots协议的恶意爬虫肆意高频次的从网站爬取个人信息数据、企业非公开和国家重要等数据。
相关文章:

网络爬虫的危害,如何有效的防止非法利用
近年来,不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。2023年8月23日,北京市高级人民法院召开北京法院侵犯公民个人信息犯罪案件审判情况新闻通报会,通报侵犯公民个人隐私信息案件审判情况,并发布典型案例。在这些典型案…...
2024/2/29 备战蓝桥杯 6-1 二分
目录 查找 【深基13.例1】查找 - 洛谷 数对 A-B 数对 - 洛谷 砍树 [COCI 2011/2012 #5] EKO / 砍树 - 洛谷 参考连接:AcWing 789. 数的范围---二分法一次搞懂 - AcWing 1.程序中不要同时出现l mid, r mdi这两条语句。 2.如过程序中出现了l mid࿰…...

浅析ARMv8体系结构:原子操作
文章目录 概述LL/SC机制独占内存访问指令多字节独占内存访问指令 独占监视器经典自旋锁实现 LSE机制原子内存操作指令CAS指令交换指令 相关参考 概述 在编程中,当多个处理器或线程访问共享数据,并且至少有一个正在写入时,操作必须是原子的&a…...

综合练习(二)
目录 列出薪金比 SMITH 或 ALLEN 多的所有员工的编号、姓名、部门名称、领导姓名、部门人数,以及所在部门的平均工资、最高和最低工资 补充 spool Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 列出薪金比 SMITH 或 AL…...

sql-labs第46关(order by盲注脚本)
一、环境 网上有自己找 二、解释 order by 注入我们看他的true和false来进行注入出来 二、实操 让我们用sort 看看源码 最终我们的id是放到order by后面了 如果我们直接用列去排序 ?sortusername/password username: password: 可以看到顺序是不…...

13款可以轻松上手画图软件推荐
在当今的数字世界里,我们有各种各样的创作工具,尤其是画图软件。所以问题来了:我们应该如何选择许多免费的绘画软件?为了回答这个问题,我们将在本文中分享10个领先的画图软件。每一个都有其独特的特点和优势࿰…...
vue实现商品评分效果(通过插件实现)
Vue.js 实现了一个简单的商品评分功能。用户可以通过点击星星来修改商品的评分,并且评分显示了相应的星星数。 废话不多说,直接上代码 方法一: <template><div><avue-form :model"formData"><avue-form-it…...

SpringBoot 手写 Starter
spring-boot-starter 模块 1.介绍 SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配…...
C++ 学习笔记(Structured bindings)
C 学习笔记(Structured bindings) 这个特性是 C17 引入的,个人认为主要是解决如何让函数返回多个值的问题。在这之前,我们一般用 std::pair 或者 std::tuple 来返回多个值。比如下面的例子: std::tuple<int, int …...

K8S常用kubectl命令汇总(持续更新中)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
加密和签名的区别及应用场景
原文网址:加密和签名的区别及应用场景_IT利刃出鞘的博客-CSDN博客 简介 本文介绍加密和签名的区别及应用场景。 RSA是一种非对称加密算法, 可生成一对密钥(私钥和公钥)。(RSA可以同时支持加密和签名)。 …...
双非二本找实习前的准备day3
学习目标: 每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了 今日碎碎念: 1)偶尔还是贪玩游戏&…...

又挖到宝了!国人团队研发的AI视频工具PixVerse,这么好用居然还完全免费!(强烈推荐)
昨天发了一款国产免费的 AI 绘画工具 Dreamina 的介绍: 居然才发现!字节跳动旗下国产AI绘画工具Dreamina,这么好用居然还免费!(强烈推荐) 发现大家对国产 AI 工具还挺感兴趣的。今天继续帮大家挖国产的 A…...
勒索病毒普通用户防范建议
勒索病毒普通用户防范建议 定期备份存储在计算机上的数据,这样勒索软件感染不会永远破坏您的个人数据。 最好创建两个备份副本:一个存储在云中(记住使用一个自动备份文件的服务),另一个物理存储(便携式硬…...

Zabbix“专家坐诊”第231期问答
问题一 Q:用docker-compose部署zabbix,部署完后如果要修改zabbix的配置应该要改docker-compose文件里的环境变量吧?改了环境变量之后只能重建容器才能生效吗?能不能在不影响已经配好的那些监控项的情况下让新的环境变量生效&#…...

【.NET Core】深入理解IO - FileSteam流
【.NET Core】深入理解IO - FileSteam流 文章目录 【.NET Core】深入理解IO - FileSteam流一、IO流概述二、文件流FileStream2.1 FileStream概述2.2 FileStream检测流位置更改2.3 FileStream构造函数2.4 FileStream常用属性2.5 FileStream.Read方法2.6 FileStream.Write方法2.7…...
CentOS7 Mysql 忘记密码或临时密码进不去时怎么跳过密码进去然后再更改密码
CentOS7 Mysql 忘记密码或临时密码进不去时怎么跳过密码进去然后再更改密码 1、进文件 vi /etc/my.cnf2、加skip-grant-tables设置跳过密码 在[mysqld]下面加 skip-grant-tables3、mysql -u root -p直接回车无密码进去mysql mysql -u root -p3、先更新,不执行这…...

深度学习 精选笔记(8)梯度消失和梯度爆炸
学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…...

linux操作docker
docker地址 官方地址 centos7安装docker 卸载旧版本docker sudo //在前面表示以管理员权限操作yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装docker //安装所需资…...
k8s Pod 进阶(资源限制,健康检查探针详解,启动退出,pod生命周期,)
目录 资源限制 查看资源控制字段 Pod 资源限制方式 Pod 和容器中定义资源请求和限制的具体字段 CPU资源单位 内存资源单位 示例 健康检查(探针) 探针的三种规则 存活探针(Liveness Probe) 就绪探针(Readines…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...