目录
爬虫是什么?
如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据就是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的数据。
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一憧楼里不知疲倦地爬来爬去。
解释1:通过一个程序,根据Url<网址/域名>(http://www.taobao.com)进行爬取网页,获取有用信息
解释2:使用程序模拟浏览器,去向服务器发送请求,获取响应信息
页面结构介绍
举个例子:我们打开京东网站,我们要的只是页面中的部分数据;假如我们只想获取左边一栏的数据,看看京东都卖哪些东西;
鼠标右键->检查
就会出现一下界面
我们可以看到右边有很多ul,li,a...标签
附加HTML内容
打开pycharm,新建一个HTML文件
建好后是这样,body之间可嵌套table,table中可嵌套tr(行),tr中嵌套td(列);
在body之间我们可以输入一些东西(建表),<tr></tr>快捷键:输入tr,按Tab键;其他同理。
选择左上角谷歌浏览器,我们将会看到这样一个表格:
table 表格 tr 行 td 列 width 表格宽度 height 表格高度 border 表格边框
在<table></table>下建一个<ul>,ul是无序列表,ul下嵌套li
刷新Chrome中的界面,如下:
除ul无序列表外,有序列表是ol ,同样ol下嵌套li
刷新Chrome中的界面,如下:
除此之外,我们还观察到京东网页里面有很多a标签
刷新Chrome中的界面,如下:
点击菜鸟,我们就跳转到了菜鸟教程页面中;
爬虫核心
- 爬取网页:爬取整个网页,包含了网页中所有内容
- 解析数据:将网页中你得到的数据进行解析
- 难点:爬虫和反爬虫之间的博弈 (要数据:爬虫;不给数据:反爬虫)
爬虫的用途
- 数据分析/人工数据集
- 社交软件冷启动 APP冷启动是什么意思? - 知乎 (zhihu.com)
- 舆情监控
- 竞争对手监控
爬虫分类
通用爬虫
- 实例:搜索引擎(百度、搜狗、谷歌等)
- 功能:访问网页->抓取数据->数据存储->数据处理->提供检索服务
- robots协议:Robots协议(爬虫协议、机器人协议) - stardsd - 博客园 (cnblogs.com)
- 网站排名(SEO):①根据pagerank算法值进行排名(参考各网站流量,点击率等指标);②百度竞价排名(出价高的网页排前面)
- 缺点:①抓取的数据大多是无用的;②不能根据用户的需求来精准获取数据
聚焦爬虫
- 功能:根据需求,实现爬虫程序,抓取需要的数据
- 设计思路:
- 确定要爬取的url——如何获取url
- 模拟浏览器通过http协议访问url,获取服务器返回的HTML代码——如何访问
- 解析html字符串(根据一定规则提取需要的数据)——如何解析
反爬手段
User-Agent
User Agent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
代理IP
- 西次代理
- 快代理
- 什么是高匿名、匿名和透明代理?它们有什么区别?
- 使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。
- 使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。
- 使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。
- 什么是高匿名、匿名和透明代理?它们有什么区别?
验证码访问
- 打码平台
- 云打码平台...
动态加载网页
网站返回的是js数据 并不是网页的真实数据
- selenium驱动真实的浏览器发送请求
数据加密
- 分析js代码
参考学习:尚硅谷Python爬虫教程小白零基础速通