导图社区 网络爬虫入门知识
这是一个网络爬虫的入门知识,可能会比较杂乱,但也是认真总结了,包括什么是网络爬虫、为什么需要网络、爬虫爬虫的合法性、爬虫的应用场景、爬虫类型。做的不好,还请见谅。
这是一篇关于语文思维导图,总结的初中和高中阶段中的常用、常见的逻辑关系,举出简单的例子。希望对你有所帮助!
网络爬虫入门知识总结,解释了什么是网络爬虫、为什么需要网络爬虫、爬虫的合法性、爬虫的应用场景、爬虫类型等。
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
日语高考動詞の活用
第14章DNA的生物合成读书笔记
网络爬虫入门知识
什么是网络爬虫
是什么
模拟浏览器向目标网站发起请求从而自动下载网页数据的计算机程序或自动化脚本
网络爬虫可以是程序
网络爬虫可以是脚本
为什么叫“爬虫”
程序或脚本像一只蜘蛛在互联网上沿着URL的丝线爬行。下载每一个URL指向的网页,并分析提取页面内容。
上网的行为像丝线上的蜘蛛,虫子一样爬来爬去
行为本质
模拟人向目标网站发送请求
获取想要的内容
机器代替人进行网络访问
爬虫获取的内容
结构化的数据
半结构化的数据
为什么需要网络爬虫
代替人工行为
海量的数据需求
一些工作需要快速的获取海量数据
举例
获取2020年的疫情相关数据,各地区的感染者可以被公示的信息
全球国家或地区可以被公示的大量数据
人工点击然后保存数据的方式其效率低下不能被接受
模拟人操作,更加高效
人浏览网页的速度不能满足一些工作的需求
由程序或脚本替代人的上网行为,实现效率的提升
特定主题或内容
上网需要主题
网络世界由相互连接的网络组成,上网获取内容需要一个特定的主题获取和主题相关的内容
百度谷歌等按关键词搜索网页
特定的内容
爬虫可以只获取特定的内容或特定类型的内容
只获取网页中的文本文件
只获取标题信息
自定义的行为和规则
预定义
爬虫的行为可以在请求网页前被设定好
爬取第一页的内容以后自动爬取第二页的内容
自定义规则
爬虫行为的规则可以自定义
正则表达式搜索
从指定的位置开始浏览网页
爬虫的合法性
禁止的行为目的
非法目的的爬取不可行
不允许获取个人数据用于骚扰,个人信息贩卖等
不允许将结果数据用于法律禁止的行为
破坏性的获取数据
禁止的数据内容
个人隐私不能爬
明确禁止的数据不能爬取
国家机密
商业秘密
法律禁止的内容
网站不允许的内容
其他非公示的信息
网站的数据库中的内容
网站的后台数据
谨慎的爬虫行为
遵循robot.txt爬取协议
谨慎将结果数据商业用途
谨慎考虑获取数据可能造成的结果
爬虫的应用场景
搜索引擎
本质就是爬虫
上网都在使用爬虫
该行为具有正规性,所以一般不会将其称呼为爬虫
普通的用户行为不会被网站封禁或限制
例外
违反了规章制度
被误判
行为和爬虫类似
导图中不会将搜索引擎搜索视作爬虫行为
注意
搜索引擎的本质是爬虫
并非浏览器本身是爬虫
需要加以区分
舆情分析
根据获取的数据进行行业走向,发展趋势等内容的分析
数据挖掘
根据获取的数据挖掘各个数据项背后所隐藏的关系
价格监测
定时爬虫
按时间间隔获取数据内容,监控其时事走向
运营助手
如网店的销售数据统计,销量分析等
其他
爬虫十分广泛,无处不在
现代人几乎每一天都在使用爬虫
爬虫类型
按爬取的网页内容分类
通用网络爬虫
主要是搜索引擎或大型web服务提供商
聚焦网络爬虫
选择内容的选择性爬行与预设主题相关的网页
增量式网络爬虫
只爬取新增的内容或发生变化的网页
深层网络爬虫
爬取深层次或隐藏的网页内容
按爬虫的部署数量分类
单机器
分布式
多台机器爬取网络内容,一般是数据量大需要提高获取数据的效率
按爬虫计算资源调度的分类
单线程
多线程
该分类的常见于基于Python开发环境的网络爬虫
Python语言的全局解释器锁限制的爬虫计算资源的使用,在大量内容爬取时需要绕过资源限制以提高效率
认识反爬虫
概念
被爬取的网站采取措施限制或禁止爬虫对其的访问行为
欢迎普通的用户的人工对其的访问行为,而爬虫程序或脚本的行为有所限制
常见的反爬手段
1
通过访问频率反爬
短时间内多次请求网页
人工行为一般不会以一个高频率的方式请求网页
被认定为爬虫行为被限制访问或拒绝一段时间内的访问
2
通过登录或验证码校验反爬
获取内容需要登录输入验证码
购物网站点击第二页的时候需要用户登录
3
通过变换网页结构反爬
爬虫根据网页结构获取内容时变换网页结构可使爬虫失效
人工访问不受太大影响
4
通过账号权限反爬
网页上设置了权限等级,请求的内容需要满足权限才能被网页返回
5
通过User-Agent校验反爬
user-agent
俗称请求头
包含了用户使用的系统和浏览器的一些信息
爬虫可能不具备此类信息而被网页限制访问
明显非人工行为的请求头也会被网页限制访问
6
通过封IP反爬
访问次数过多或多次被认定为爬虫行为会导致目标网站认为该IP有爬虫行为IP,禁止该IP的网页访问。
7
通过脚本工具的特征信息反爬
网络爬虫的程序会带有一些特征,网页检测到非人工程序特征时,网络请求会被禁止。
8
cookie反爬
一些网页需要请求方提供cookie内容以验证是否为非人工上网请求
9
通过弹窗的人机验证反爬
谷歌的人机验证
10
通过网络访问的行为特征反爬
人工网页浏览时点击下一页前一般会下拉显示区域到网页底部,当网页检测到没有下拉行为且具有一定规律时,会认定为网络爬虫且限制访问。
为什么会反爬
爬虫的行为对网站造成资源负担
爬虫的访问频率过高
给网站服务器带来巨大压力
爬虫的行为量大但是没有意义
访问记录无价值
可能会扰乱网络运营者的正常工作
数据内容不允许被获取
爬虫带来数据安全问题
敏感性的数据
个人隐私的数据
含有高商业价值,含有商业机密的数据
含有国家机密的数据
爬虫与反爬
行为
这是一个博弈的行为结果
有爬虫就有反爬虫
有反爬就会有反 反爬虫
根据需求和激烈程度,其博弈对抗的层次会持续加深
网络爬虫的简单流程
以Python开发环境下的单线程单网站单任务爬虫为例
引入需要的工具
定义目标网页的URL
实例化需要的工具
发送请求获取网页内容
使用工具解析网络内容
从获取的网页内容中提取想要的信息
保存获取的信息