分享
爬虫场景
输入“/”快速插入内容
爬虫场景
为什么要了解爬虫?
1、爬虫是初级的人工智能
爬虫是模拟人打开网页、浏览网页、提取目标数据的工具。
爬虫的简化版可参考word文档中的查找替换功能,如果将需要检索的word文档扩大至整个互联网可浏览页面,检索要求进一步提升,那么就需要通过定制化的爬虫来实现。
爬虫的主要价值在于提高效率,减少人工的重复劳动,相当于是原本需要多人完成的工作,现在只需要一个会用爬虫的员工即可完成,而且准确率几乎是百分之百。
因此,爬虫的本质就是一个初级的人工智能产品。
2、爬虫是数据流通利用的基础方式
赛博研究院2019年11月发布的《数据爬取治理报告》指出,2018年全球流量中机器人流量总共占比37.9%,数据爬取已经成为数据获取和流通的主要方式,未来会成为互联网企业获取网络数据的基础手段。
数据的价值在于流通,而爬虫的功能在于通过检索和复制实现数据的增值过程,将数据的副本放置到适合并能创造价值的地方,也就是爬虫实现了数据的批量流通和利用。由于爬虫对数据采集成本的降低是革命性的,因此也会创造更多数据流通的需求。
值得注意的是,爬虫获取数据后会产生新的数据价值,但原数据价值是否发生变化需要进一步讨论。
例如,以获取互联网流量的数据而言,当数据被爬取复制应用后,流量会被数据的副本带走一部分,此时爬虫影响了原数据价值的发挥;
但两个流量池并无交集,或者不存在竞争关系时,数据被爬虫复制后,也不会影响原数据的价值;
当然还存在被爬虫复制后,原数据获得更多的流量价值等情形。
从能量守恒的角度,爬虫获取数据的过程还是消耗了一定的服务器承载资源,当爬虫访问次数并未超过服务器的最高负荷时,对服务器没有影响,一旦访问量过大会则导致服务器的过载和崩溃。
一、场景边界
1、爬虫的技术原理
爬虫的技术原理相对简单,就是在某开发程序中设置一段代码,代码的运行逻辑是不断的获取网页提取目标数据的过程,直到达到设定的停止条件或者无法再获取网页时,爬虫程序停止。
图片来自:
爬虫的基本原理
(参考书籍:《Python3网络爬虫开发实战》《实战Python网络爬虫》)
图片来自:
强行爬取公开数据构成犯罪吗
2、爬虫的基本类型
💡
•
根据访问的网页是否需要用户账户登录,可以将爬虫简单区分为
开放网页数据爬取
和
登录网页数据爬取
。
(1)开放网页数据爬取
尽管网页可以开放获取,但网页开发者也会采取技术措施限制爬取。常见的技术措施:请求头设置、登陆限制、流量限制、AJAX动态加载数据、Cookie限制、验证码限制等。
(2)登录网页数据爬取
需要爬取的数据内容需要通过用户名和密码登录特定账户才能获取,登录的方式包括模拟登录和撞库技术等方式。(本文暂不讨论通过探针、黑市交易等非法拖库后再进行撞库的行为,仅考虑在获得了用户授权同意后登录用户账户进行的爬取行为。)
用户授权同意的范围和程度是不一样的,有些用户同意对本人的实名账户数据进行爬取,只提供用户名、并未提供密码,这种情形下需要采用撞库技术破解进入用户账户,存在合规风险。