Python网络爬虫技术 配套课件

上传人:知** 文档编号:252195241 上传时间:2022-02-10 格式:PPTX 页数:250 大小:8.33MB
返回 下载 相关 举报
Python网络爬虫技术 配套课件_第1页
第1页 / 共250页
Python网络爬虫技术 配套课件_第2页
第2页 / 共250页
Python网络爬虫技术 配套课件_第3页
第3页 / 共250页
Python网络爬虫技术 配套课件_第4页
第4页 / 共250页
Python网络爬虫技术 配套课件_第5页
第5页 / 共250页
点击查看更多>>
资源描述

《Python网络爬虫技术 配套课件》由会员分享,可在线阅读,更多相关《Python网络爬虫技术 配套课件(250页珍藏版)》请在金锄头文库上搜索。

1、大数据,成就未来Python网络爬虫技术 配套课件2022/2/9 2大数据挖掘专家1第2章 网页前端基础目 录第1章 Python爬虫环境与爬虫介绍2第3章 简单静态网页爬取3第4章 常规动态网页爬取4第5章 模拟登录5第6章 终端协议分析6第7章 Scrapy爬虫7大数据,成就未来第1章 Python爬虫环境与爬虫简介2022/2/9 4大数据挖掘专家1认识反爬虫目录认识爬虫2配置Python爬虫环境3小结4 5大数据挖掘专家网络爬虫也被称为网络蜘蛛、网络机器人,是一个自动下载网页的计算机程序或自动化脚本。网络爬虫就像一只蜘蛛一样在互联网上沿着URL的丝线爬行,下载每一个URL所指向的网页

2、,分析页面内容。爬虫的概念 6大数据挖掘专家通用网络爬虫又称为全网爬虫,其爬行对象由一批种子URL扩充至整个Web,该类爬虫比较适合为搜索引擎搜索广泛的主题,主要由搜索引擎或大型Web服务提供商使用。 深度优先策略:按照深度由低到高的顺序,依次访问下一级网页链接,直到无法再深入为止。 广度优先策略:按照网页内容目录层次的深浅来爬行,优先爬取较浅层次的页面。当同一层中的页面全部爬行完毕后,爬虫再深入下一层。爬虫的原理1.通用网络爬虫 7大数据挖掘专家聚焦网络爬虫又被称作主题网络爬虫,其最大的特点是只选择性地爬行与预设的主题相关的页面。 基于内容评价的爬行策略:该种策略将用户输入的查询词作为主题,

3、包含查询词的页面被视为与主题相关的页面。 基于链接结构评价的爬行策略:该种策略将包含很多结构信息的半结构化文档Web页面用来评价链接的重要性,其中一种广泛使用的算法为PageRank算法。 基于增强学习的爬行策略:该种策略将增强学习引入聚焦爬虫,利用贝叶斯分类器对超链接进行分类,计算出每个链接的重要性,按照重要性决定链接的访问顺序。 基于语境图的爬行策略:该种策略通过建立语境图学习网页之间的相关度,计算当前页面到相关页面的距离,距离越近的页面中的链接优先访问。爬虫的原理2. 聚焦网络爬虫 8大数据挖掘专家增量式网络爬虫只对已下载网页采取增量式更新或只爬行新产生的及已经发生变化的网页,需要通过重

4、新访问网页对本地页面进行更新,从而保持本地集中存储的页面为最新页面。常用的更新方法如下。 统一更新法:以相同的频率访问所有网页,不受网页本身的改变频率的影响。 个体更新法:根据个体网页的改变频率来决定重新访问各页面的频率。 基于分类的更新法:爬虫按照网页变化频率分为更新较快和更新较慢的网页类别,分别设定不同的频率来访问这两类网页。爬虫的原理3. 增量式网络爬虫 9大数据挖掘专家Web页面按照存在方式可以分为表层页面和深层页面两类。表层页面指以传统搜索引擎可以索引到的页面,深层页面为大部分内容无法通过静态链接获取,隐藏在搜索表单后的,需要用户提交关键词后才能获得的Web页面。深层爬虫的核心部分为

5、表单填写,包含以下两种类型。 基于领域知识的表单填写:该种方法一般会维持一个本体库,通过语义分析来选取合适的关键词填写表单。 基于网页结构分析的表单填写:这种方法一般无领域知识或仅有有限的领域知识,将HTML网页表示为DOM树形式,将表单区分为单属性表单和多属性表单,分别进行处理,从中提取表单各字段值。爬虫的原理4. 深层网络爬虫 10大数据挖掘专家目前,多数网站允许将爬虫爬取的数据用于个人使用或者科学研究。但如果将爬取的数据用于其他用途,尤其是转载或者商业用途,严重的将会触犯法律或者引起民事纠纷。以下两种数据是不能爬取的,更不能用于商业用途。 个人隐私数据:如姓名、手机号码、年龄、血型、婚姻

6、情况等,爬取此类数据将会触犯个人信息保护法。 明确禁止他人访问的数据:例如用户设置了账号密码等权限控制,进行了加密的内容。还需注意版权相关问题,有作者署名的受版权保护的内容不允许爬取后随意转载或用于商业用途。爬虫的合法性与robot.txt协议1. 爬虫的合法性 11大数据挖掘专家 当使用一个爬虫爬取一个网站的数据时,需要遵守网站所有者针对所有爬虫所制定的协议,这便是robot.txt协议。 该协议通常存放在网站根目录下,里面规定了此网站那些内容可以被爬虫获取,及哪些网页是不允许爬虫获取的。爬虫的合法性与robot.txt协议2. robot.txt协议 12大数据挖掘专家1认识反爬虫目录认识

7、爬虫2配置Python爬虫环境3小结4 13大数据挖掘专家浏览器在发送请求的时候,会附带一部分浏览器及当前系统环境的参数给服务器,服务器会通过User-Agent的值来区分不同的浏览器。网站反爬虫的目的与手段1. 通过User-Agent校验反爬 14大数据挖掘专家 普通用户通过浏览器访问网站的速度相对爬虫而言要慢的多,所以不少网站会利用这一点对访问频度设定一个阈值,如果一个IP单位时间内访问频度超过了预设的阈值,将会对该IP做出访问限制。 通常需要经过验证码验证后才能继续正常访问,严重的甚至会禁止该IP访问网站一段时间。网站反爬虫的目的与手段 2. 通过访问频度反爬 15大数据挖掘专家有部分

8、网站不论访问频度如何,一定要来访者输入验证码才能继续操作。例如12306网站,不管是登陆还是购票,全部需要验证验证码,与访问频度无关。网站反爬虫的目的与手段3. 通过验证码校验反爬 16大数据挖掘专家一些社交网站常常会更换网页结构,而爬虫大部分情况下都需要通过网页结构来解析需要的数据,所以这种做法也能起到反爬虫的作用。在网页结构变换后,爬虫往往无法在原本的网页位置找到原本需要的内容。网站反爬虫的目的与手段4. 通过变换网页结构反爬 17大数据挖掘专家 部分网站需要登录才能继续操作,这部分网站虽然并不是为了反爬虫才要求登录操作,但确实起到了反爬虫的作用。 例如微博查看评论就需要登录账号。网站反爬

9、虫的目的与手段5. 通过账号权限反爬 18大数据挖掘专家针对之前介绍的常见的反爬虫手段,可以制定对应的爬取策略如下。 发送模拟User-Agent:通过发送模拟User-Agent来通过检验,将要发送至网站服务器的请求的User-Agent值伪装成一般用户登录网站时使用的User-Agent值。 调整访问频度:通过备用IP测试网站的访问频率阈值,然后设置访问频率比阈值略低。这种方法既能保证爬取的稳定性,又能使效率又不至于过于低下。 通过验证码校验:使用IP代理,更换爬虫IP;通过算法识别验证码;使用cookie绕过验证码。 应对网站结构变化:只爬取一次时,在其网站结构调整之前,将需要的数据全部

10、爬取下来;使用脚本对网站结构进行监测,结构变化时,发出告警并及时停止爬虫。 通过账号权限限制:通过模拟登录的方法进行规避,往往也需要通过验证码检验。 通过代理IP规避:通过代理进行IP更换可有效规避网站检测,需注意公用IP代理池是 网站重点监测对象。爬取策略制定 19大数据挖掘专家1认识反爬虫目录认识爬虫2配置Python爬虫环境3小结4 20大数据挖掘专家目前Python有着形形色色的爬虫相关库,按照库的功能,整理如下。Python爬虫相关库介绍与配置Python爬虫相关库类型库名简介通用urllibPython内置的HTTP请求库,提供一系列用于操作URL的功能requests基于urll

11、ib,采用Apache2 Licensed开源协议的HTTP库urllib 3提供很多Python标准库里所没有的重要特性:线程安全,连接池,客户端SSL/TLS验证,文件分部编码上传,协助处理重复请求和HTTP重定位,支持压缩编码 ,支持HTTP和SOCKS代理,100%测试覆盖率框架scrapy一个为了爬取网站数据,提取结构性数据而编写的应用框架HTML/XML解析器lxmlC语言编写高效HTML/XML处理库。支持XPathBeautifulSoup 4纯Python实现的HTML/XML处理库,效率相对较低 21大数据挖掘专家MySQL版本为社区版本mysql-installer-co

12、mmunity-5.6.39.0,在64位的Windows系统上,安装该版本的MySQL具体步骤如下。 双击打开msi安装包,勾选接受许可条款,单击“Next”按 钮后进入产品安装选择。配置MySQL数据库1. Windows下MySQL配置 22大数据挖掘专家 在弹出框中选择64位版本。配置MySQL数据库1. Windows下MySQL配置 23大数据挖掘专家 在下方左侧栏内选择需要安装的程序,单击右箭头移至安装栏内。配置MySQL数据库1. Windows下MySQL配置 24大数据挖掘专家 单击 “Next”按钮后,会检测系统上是否安装有相关依赖的软件,若没有安装,则会出现类似下图所示

13、的界面。配置MySQL数据库1. Windows下MySQL配置 25大数据挖掘专家 单击 “Next”按钮后,进入安装确认步骤,将被安装的程序会显示在框内,单击“Execute”按钮将开始安装过程。配置MySQL数据库1. Windows下MySQL配置 26大数据挖掘专家 安装完成后,还需配置服务,一般用户类型选择“Development Machine”,MySQL的默认端口为3306。配置MySQL数据库1. Windows下MySQL配置 27大数据挖掘专家 设置root账户的密码,可添加一个具有普通用户权限的MySQL用户账户,也可不添加。配置MySQL数据库1. Windows下

14、MySQL配置 28大数据挖掘专家 勾选“Configure MySQL Server as a Windows Service”后将以系统用户运行windows服务,在Windows下MySQL默认服务名为mysql56。配置MySQL数据库1. Windows下MySQL配置 29大数据挖掘专家 最后进入服务配置应用步骤,单击“Execute”按钮将开始执行。配置MySQL数据库1. Windows下MySQL配置 30大数据挖掘专家 执行成功的服务配置将变为绿色的勾选状态,单击 “Finish”按钮完成配置过程。配置MySQL数据库1. Windows下MySQL配置 31大数据挖掘专家

15、安装完成后还需要配置MySQL的环境变量,步骤如下。 打开“环境变量”对话框。右键单击“我的电脑”图标,单击“高级系统设置”按钮,在弹出的“系统属性”对话框中单击“环境变量”按钮,即可弹出的“环境变量”对话框。配置MySQL数据库1. Windows下MySQL配置 32大数据挖掘专家 设置MySQL的环境变量:设置环境变量有两种方法,以下为第一种。新建环境变量“MYSQL_HOME”,变量值填写“C:Program FilesMySQLMySQL Server 5.6”,其中MySQL默认安装在C:Program Files路径下。在“Path”变量后面添加“%MYSQL_HOME%bin”

16、。配置MySQL数据库1. Windows下MySQL配置 33大数据挖掘专家 设置MySQL的环境变量:第二种设置环境变量的方法。直接在“Path”变量中添加“C:Program FilesMySQLMySQL Server 5.6bin”。配置MySQL数据库1. Windows下MySQL配置 34大数据挖掘专家 使用管理员权限运行命令提示符,使用“net start mysql56”命令启动MySQL服务,使用“net stop mysql56”可关闭MySQL服务。配置MySQL数据库1. Windows下MySQL配置 35大数据挖掘专家Linux版本为CentOS 7,使用“yum”命令安装mysql-community-5.6.40版本的MySQL数据库。 切换至root用户,使用“rpm -qa | grep mysql”命令查看是否已经安装MySQL数据库,没有安装将没有显示,若原本有安装也可使用“rpm -e mysql”命令进行卸载。配置MySQL数据库2. Linux下MySQL配置 36大数据挖掘专家 CentOS 7上将MySQL从默认软件列表中移除,用M

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号