开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情
什么是互联网爬虫?
如果我们把物联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蛛网抓去自己想要的数据。
- 通过一个程序,根据
url进行爬取网页,获取有用信息 - 使用程序模拟浏览器,去向服务器发送请求,获取响应信息
爬虫的核心
- 爬取网页:爬取整个网页,得到网页中所有的内容
- 解析数据:将网页中所需的数据进行解析
- 难点:爬虫和反爬虫之间的博弈
爬虫的用途
- 数据收集/数据分析
- 社交软件冷启动
- 舆情监控
- 竞争对手监控
爬虫的分类
-
通用爬虫
- 实例:百度、360、google、sougou等搜索引擎
- 功能:访问网页 → 抓取数据 → 数据存储 → 数据处理 → 提供检索服务
- robots协议:约定俗成等协议,添加
robots.txt文件来说明哪些内容不可以被抓取 - 网站排名(SEO):根据
pagerank算法进行排名(参考网站流量、点击率等指标) - 缺点:抓取的数据大多是无用的,无法根据需求精准获取数据
-
聚焦爬虫
-
功能:根据需求,实现爬虫程序,定向抓取需要的数据
-
设计思路
- 确定要爬取的url
- 模拟浏览器通过http协议访问url,获取服务器返回的html代码
- 解析html字符串,提取需要的数据
-
反爬方式
-
User-Agent
User Agent中文名为用户代理,简称UA,他是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
-
代理IP
- 透明代理:对方服务器可以指定你使用了代理,并且也知道你的真实IP
- 匿名代理:对方服务器可以知道你使用了代理,但不知道真实IP
- 高匿名代理:对方服务器不知道你使用了代理,也不知道真实IP
-
验证码访问
-
动态加载网页
网站返回的是
js数据,并不少网页但真实数据,可以通过selenium驱动模拟真实的浏览器发送请求 -
数据加密
可以通过分析
js代码解密