工信版(中职)数据采集技术(初级)项目4:抽取网页数据教学课件.pptx
《工信版(中职)数据采集技术(初级)项目4:抽取网页数据教学课件.pptx》由会员分享,可在线阅读,更多相关《工信版(中职)数据采集技术(初级)项目4:抽取网页数据教学课件.pptx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Y CF(中职)数据采集技术(初级)项目4:抽取网页数据教学课件CONTENTS 任务一:使用Xp ath 提取网页数据 任务二:使用正则表达式提取网页数据项目情景零经理:小张,数据采集中的提取拆分相关的技术你了解吗,咱要准备爬取网站上的数据了。小张:这个提取拆分有多种技术,比如XPath、Beautiful Soup、正则表达式等,不知道您说的是哪个?经理:根据项目需求,需要实现XPath提取网页数据,正则表达式拆分网页数据,你可以吗?小张:我只知道基本语法,如果需要,那我认真学习一下,完成该任务吧。经理:期待你完成任务。小张和经理谈完话后,开始进入了学习和调研阶段,经过查阅资料和学习,了解
2、到实现XPath提取网页数据,正则表达式拆分网页数据都需要python的基础环境而且XPath和正则表达式提取拆分数据能够方便以后的数据爬取分析。于是开始了使用XPath提取网页数据,正则表达式拆分网页数据,探究之旅的步骤为:步骤一:使用XPath提取网页数据。步骤二:使用正则表达式提取网页数据。学习目标零【知识目标】了解什么是XPath 掌握XPath环境的安装 掌握XPath基本语法 掌握正则表达式的概念 掌握正则表达式的基本语法 掌握正则表达式的匹配原则【技能目标】能够构造lxml 能够使用XPath进行网页的提取 能够使用正则表达式提取网页信息 能够使用正则表达式拆分网页信息知识储备
3、任务一:使用XP ath 提取网页数据 壹1.XP a th 简介XPath(XML Path)是一种查询语言,也称为XML路径语言,它能在XML(Extensible Markup Language,可扩展标记语言)和HTML的树状结构中寻找结点,确定XML文档中某部分位置的语言。形象一点来说,XPath就是一种根据“地址”来“找人”的语言。用XPath从HTML源代码中提取信息可以大大提高效率。2.XP a th 安装在Python中,为了使用XPath,需要安装一个第三方库:lxml。(1)在Mac OS下安装lxml如果操作系统为Mac OS,可以直接使用pip。命令为pip inst
4、all lxml,安装lxml,如图下图所示。知识储备 任务一:使用XP ath 提取网页数据 壹(2)在Ubuntu下安装lxml如果操作系统为Ubuntu,可以使用如下命令安装lxml:sudo apt-get install python-lxml(3)在Windows下安装lxml如果操作系统为Windows,可以使用安装pip install lxml(etree)进行安装,但安装成功几率比较小。常用的安装方法为:第一步:下载lxml文件,把lxml 3.7.3 cp36 cp36m win_amd64.whl这个文件的扩展名由.whl改为.zip,使用WinRAR或者7-Zip等解
5、压缩工具来解压这个文件。解压以后,会得到两个文件夹,如下图所示。知识储备 任务一:使用XP ath 提取网页数据 壹第二步:把它们复制到Python安装文件夹下面的Libsite-packages文件夹中即可,如下图所示。知识储备 任务一:使用XP ath 提取网页数据 壹第三步:验证lxml安装是否安装成功打开Python的交互环境,输入import lxml,如果不报错,就表示安装成功,如下图所示。知识储备 任务一:使用XP ath 提取网页数据 壹3.XP a th 语法(1)基本语法使用Xpath需要从lxml库中导入etree模块,并使用HTML类对需要匹配的HTML对象进行初始化。
6、HTML类的基本语法格式如下:Lmxl.etree.HTML(text,parase=None,*,base_url=None)HTML类的常用参数如下表所示。参数 说明text 接收str,表示需要转换为HTML的字符串。parase 接收str,表示选择的HTML解析器。base_url接收str。表示文档的元素URL,用于查找外部实体的相对路径。默认为None。知识储备 任务一:使用XP ath 提取网页数据 壹Xpath也可以使用类似正则的表达式来匹配HTML文件中的内容,常用匹配表达式如下表所示。表达式 说明nodename 选取nodename节点的所有子节点/从当前节点选取直接子
7、节点/从当前节点选取子孙节点.选取当前节点.选取当前节点的父节点 选取属性说明:父节点表示当前节点的上一层节点,子节点表示当前节点的下一层节点。子孙节点表示当前节点的所有下层节点。知识储备 任务一:使用XP ath 提取网页数据 壹(2)谓语查找某个特定的节点或包含某个指定的值的节点可以使用Xpath中的谓语,通常被嵌在路径后的方括号中,如下表所示。表达式 说明/html/body/div1 选取属于body子节点下的第一个div节点/html/body/divlast()选取属于body子节点下的最后一个div节点/html/body/divlast()-1 选取属于body子节点下的倒数第
8、二个div节点/html/body/divpositon()10.00 选取属于body子节点下的xx元素值大于10的节点知识储备 任务一:使用XP ath 提取网页数据 壹(3)功能函数当对象仅掌握了其部分特征,需要模糊搜索该类对象时,可使用Xpath中提供的功能函数进行模糊搜索,具体函数如表5-4所示。功能函数 示例 说明starts-with/divstarts-with(id,”co”)选取id值以co开头的div节点contains/divcontains(id,”co”)选取id值包含co的div节点and/divcontains(id,”co”)andcontains(id,”e
9、n”)选取id值包含co和en的div节点text()/licontains(text(),”first”)选取节点文本包含first的div节点任务描述任务一:使用XP ath 提取网页数据 壹任务描述在数据采集过程中,需要熟悉网页的数据提取和拆分。本任务是使用Google Chrome浏览器辅助构造XPath提取浪潮官网中轮播图下面的列表信息。使用XPath提取网页数据的思路如下:(1)打开浏览器,找到对应的网站地址。(2)使用“检查”的方式查看网页源码。(3)使用Google Chrome浏览器实现XPath路径的保存。(4)构造截取信息的XPath。(5)编写代码,使用python中的
10、lxml截取所需信息。任务步骤任务一:使用XP ath 提取网页数据 壹任务步骤第一步:百度搜索浪潮大数据,打开浪潮官网。任务步骤任务一:使用XP ath 提取网页数据 壹任务步骤第二步:在网页上单击右键,在弹出的快捷菜单中选择“检查”命令,如下图所示。任务步骤任务一:使用XP ath 提取网页数据 壹任务步骤第三步:打开开发者工具,界面如下图所示。打开开发者工具后,使鼠标指针在开发者窗口中的HTML代码中移动,可以看到页面上不同的地方会高亮,说明当前鼠标指针指向的这个标签,就对应了网页中高亮的这一部分的代码。除了根据代码找网页位置,还可以根据网页位置找代码。任务步骤任务一:使用XP ath
11、提取网页数据 壹任务步骤第五步:单击图5-4方框框住的按钮,并将鼠标指针在网页上移动,可以看到开发者工具窗口中的代码随之滚动。任务步骤任务一:使用XP ath 提取网页数据 壹任务步骤第六步:选定要提取的位置以后,开发者工具窗口的代码如下图所示。任务步骤任务一:使用XP ath 提取网页数据 壹任务步骤第七步:在上面单击右键,选择“Copy”“Copy XPath”命令,如下图所示。寻找一个可以输入文字的地方,把结果粘贴下来,可以看到如下的XPath语句:/*id=11151f3a715d42088f88f2f2a5934cfa/div2/div1/table1任务步骤任务一:使用XP ath
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工信版 数据 采集 技术 初级 项目 抽取 网页 教学 课件
限制150内