爬虫的定义:Web Crawler是一种自动获取网页信息的程序或脚本,也称为网络蜘蛛(spider)或网络机器人。
学习爬虫的原因:帮助我们快速的、自动的获取互联网上的各种数据,包括新闻、价格、天气、股票等。这些数据对于研究、分析和决策非常有用。
爬虫的用途:
(1)搜素引擎利用爬虫收集网页信息,建立索引,用户通过搜索引擎可以快速的找到所需要的信息。
(2)数据分析,采集大量的数据,分析,建模,帮助企业了解市场趋势,用户行为等。
(3)舆情分析,收集网上的舆情信息,分析舆情走向,为企业提供决策参考。
(4)信息监控,定时监控网页信息的变化,例如竞争对手的价格变化,为企业提供参考决策。
(5)信息聚合,将不同来源的信息聚合在一起,为用户提供便捷的信息获取方式。
(6)应用开发,为应用开发提供数据支撑,例如开发天气预报软件,获取天气信息为其提供数据支撑。
爬虫的分类:
通用爬虫:不针对特定的网站(搜素引擎)
聚焦爬虫:针对特定网站或特定类型的网站,例如12306网站抢票等
增量式爬虫:在上一次抓取的基础上,只抓取新增加的或者有更新的数据
深层网络爬虫:抓取互联网中深层次的网页,这些网页通常都是非结构化的
爬虫的工作流程:
(1)发送请求:爬虫发送HTTP请求到目标网站
(2)获取响应:获取请求返回的响应内容
(3)解析响应内容:比如url链接或者文本数据
(4)存储数据:将解析出来的数据存储到本地或者数据库中
robots协议:也称为robots.txt,是一个网站根目录下的文本文件,主要包含User-agent和Disallow两个信息
User-agent指定了爬虫的名称或标识符,Disallow指定了不允许访问的url路径。
特别需要注意的是:网络爬虫不能采集用户的隐私信息(姓名、身份证号、手机号等),这些是属于违法的(爬虫写的好,牢饭吃的早)