网站首页 > 技术文章 正文
关于网络爬虫概念与“爬取”过程
网络爬虫(Web Spider)又称“网络蜘蛛”,它能模拟正常用户的一些行为,按照一定的规则自动抓取网络中的各种信息。搜索引擎也是网络爬虫的一种,但是不影响网站的正常运行,也没有任何恶意行为。而一些恶意的网络爬虫常常通过短时间内大量访问等手段来消耗网络资源,使网站的正常运转出现问题,导致服务器崩溃等。大部分爬虫程序通过预先设定一个队列存放URL,在进行网页爬取时,先从某一个或若干个URL开始,记录该URL,再从该网页上查找链接的其他URL放入队列,不断地从当前页面查找新的URL,如此循环往复,直到满足设定的停止条件。
恶意爬虫的危害及对应的防范规则
近年来部分设计网络爬虫的司法案件
2016年 脉脉爬取新浪微博数据
2016年 今日头条移植新浪微博数千条内容
2017年 南京码注网络科技有限公司爬取阿里巴巴数据
2019年 刷宝App爬取抖音短视频数据案
2021年 逯某和黎某非法爬取淘宝近12亿条用户信息案
网络安全风险
恶意爬虫存在的安全问题:
(1)爬虫自动持续且高频地对被爬取方进行访问,服务器负载飙升,这会给服务器带来“难以承受”之重。应对高并发经验不足的网站,尤其是中小网站可能会面临网站打不开,网页加载极其缓慢,有时甚至直接瘫痪。网站经营者面对“凶猛”的网络爬虫时往往苦不堪言。
(2)通过爬虫爬取数据建立数据增值服务,从而获益。然而,所建立的这类数据增值服务往往与被爬取方形成直接的竞争关系,甚至可以形成某种替代关系。
(3)非法窃取服务器上的用户隐私数据。实践中最常见的是非法爬取用户cookie,cookie是有权限用户登录服务器时留下的系统文件,通过cookie可以利用用户的账号信息自动登录系统,执行该用户相应的权限,还可以设置后门植入木马,让服务器成为一台“肉鸡”。
(4) 采取技术手法非法访问目标服务器数据,现实中主要是未经允许获取文字、图片、音视频等作品,用于商业使用或出售,这中间由于技术手段的多样化,有的技术不涉及相关数据的复制,就能直接映射到本地等。
限制网络爬虫的基本策略
(1)限制单个IP地址在单位时间内的访问次数,比如限制1秒访问200次,但不能连续10秒都是大于150小于200的数据量
(2)header, User-Agent检查用户所用客户端的种类和版本, 在请求头中加入CSRF_token识别用户请求
(3)Referer, 检查请求由哪里来,通常可以做图片的盗链判断
(4)Cookies,检测Cookie中session_id 的使用用次数,如果超过限制,就触发反爬策略,对访问进行限制
(5)动态加载,网站使用ajax动态加载内容
(6)对前端请求的API的参数进行加密
(7)对网站JS进行混淆加密(适用于对API参数加密的情况,对用于加密的JS进行混淆)
(8)在用户登录时,进行验证码验证(图片验证码或滑动验证码或短信验证码等)
(9)对网页数据展示的总页数进行限制,比如用户只能浏览200页等
随着全球信息化步伐的加快,反爬和爬取的技术一直在迭代,在技术领域,没有爬不了的网站,所有对外公开的网站、APP,只要人能访问,绝对能爬得了,只有他愿不愿意爬和多难爬的问题。越大厂的APP或者网站越难爬,反爬机制多;不断的研究爬虫和反爬技术可以作为我们不断提升自己的职业技能和安全意识的途径,但是并不能作为我们侵害他人利益的工具。
猜你喜欢
- 2025-03-30 python 爬虫如何突破登录验证(python 爬虫 登录)
- 2025-03-30 奥力给!可以自己定义流程的图形化爬虫&自动化测试平台—Kspider
- 2025-03-30 Java爬虫原理(小白也能懂)(java爬虫入门)
- 2025-03-30 手把手教你用 node 写一个爬虫(node做爬虫)
- 2025-03-30 零基础上手秒杀系统:抢购接口隐藏 + 单用户限制频率
- 2025-03-30 使用CefSharp和Javascript实现网络爬虫
- 2025-03-30 细说小白学python爬虫过程中常见的反爬措施及解决思路(干货)
- 2025-03-30 「数据分析」2种常见的反爬虫策略,信息验证和动态反爬虫
- 2025-03-30 爬虫原理和流程(爬虫程序原理)
- 2025-03-30 python:最简单爬虫之爬取小说网Hello wrold
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)