《商务数据采集与处理》课件 第5节:数据采集元素定位_第1页
《商务数据采集与处理》课件 第5节:数据采集元素定位_第2页
《商务数据采集与处理》课件 第5节:数据采集元素定位_第3页
《商务数据采集与处理》课件 第5节:数据采集元素定位_第4页
《商务数据采集与处理》课件 第5节:数据采集元素定位_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

商务数据采集课程第5节:数据采集元素定位01:元素定位之XPathXPath即为XML路径语言(XMLPathLanguage),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快地被开发者采用来当作小型查询语言。什么是XPath?为什么要用XPath?为什么要用XPath?八爪鱼采集网页数据的可视化流程,几乎每个步骤都涉及XPath,XPath是用来定位网页位置的。80%以上采集难题,都可以通过写「一条正确的XPath」解决。为什么要用XPath?在八爪鱼中,我们是怎么做采集流程的?

用XPath,在网页源码中定位目标对象XPath是什么?XPath如何在网页源码中定位?在八爪鱼内置浏览器中打开网页在网页中选中目标对象弹出操作提示框,选择所需指令自动生成步骤查看XPath的工具三剑客:Firefox+firepath+firebug

火狐54及以下版本,firepath与firebug插件均需离线安装,教程:/tutorial/firebugfirepath二把手:Chrome+XPathHelper

XPathHelper插件在线安装需翻墙,可离线安装最实用:Chrome+F12直接使用谷歌浏览器自带的开发者工具,F12打开,然后通过选中网页代码,再通过Ctrl+F即可查询Xpath定位。XPath&HTMLHTML(HyperTextMarkupLanguage)HTML是用来描述网页的一种语言。我们日常浏览的网页背后都是一个个HTML文档。打开一个网页,点击鼠标右键,点击“查看网页源代码”就能看到该网站的HTML文档。XPath(XMLPathLanguage)XPath是在XML文档中查找信息的语言,同样适用于HTML文档。要定位的网页数据定位XpathHTML文档HTML文档HTML实例文档标签、属性、属性值、文字/tag/%E5%B0%8F%E8%AF%B4HTML常见标签<a></a>

定义超链接,用于从一张页面链接到另一张页面<p></p>

段落标记标签<div></div>

可定义文档中的区域或节、可以把文档分割为不同的部分,是一个块级元素<li></li>

创建列表内容项<img></img>

向网页中嵌入一幅图像,从网页中链接图像<table></table>

创建一个表格<tr></tr>

表格中的每一行<td></td>

表格中的标准单元格HTML文档是树状结构,标签具有层级。上一层与下一层之间用/连接,跨层级用//连接。/tag/%E7%AB%A5%E8%AF%9D示例网址:XPath工作原理/和//的区别/绝对路径定位()

意思是从根标签开始,一层一层往下定位,直到数据所在的位置,不可跨层级

//相对路径定位

直接找到标题所在层级的标签和属性定位,可以跨层级,我们强烈推荐这种定位方法。HTML常见属性属性是用来修饰标签的。含有属性的XPath写法://LI[@class='next']。属性用[]括起来,属性前用@,属性的属性值写在引号内。一个标签可同时用多个属性修饰,//LI[@class][@href]。规定元素的类名,大多数时候用于指定样式表中的类class唯一标识一个元素的属性,在html里面必须是唯一的id指定超链接目标的urlhref图像文件的urlsrcclass@class=''id@id=''href@href=''src@src=''列出4个常见属性其他属性用法类似XPath工作原理XPath路径表达式如何写?html/body//li[@class='next']/a[1]

标签

属性

///XPath通过HTML标签和属性查找数据。找到八爪鱼公司的路径表达式广东省/市[深圳]/区[南山]/街道[西丽街道]/楼栋[禹州广场A座5楼]XPath工具的使用1、当前列表项,区域见右图

2、图书文字部分,区域见右图

3、图书简介

4、图书标题

5、图书封面XPath实战练习-问题请写出以下数据的XPath路径表达式1、当前列表项,区域见右图2、图书文字部分,区域见右图

3、图书简介4、图书标题

5、图书封面/tag/%E7%AB%A5%E8%AF%9D示例网址:XPath实战练习-答案XPath路径表达式答案(答案不唯一满足要求即可)//li[@class="subject-item"]//h2/a//li[@class="subject-item"]//li[@class="subject-item"]//p//li[@class="subject-item"]//img//div[@class='info']/tag/%E7%AB%A5%E8%AF%9D示例网址:XPath函数1、text()用文本定位位置,常与contains函数一起使用text()='下一页'精确定位contains(text(),'下一页')模糊定位2、contains()用于判断文本的一部分是否包含XXX,或者属性值是否包含XXX

contains(text(),'xxx')判断文本的一部分是否包含XXXcontains(@class,'xxx')判断属性值是否包含XXX3、position()用于定位节点的位置和限制节点的范围position()=1或者position()>1andposition()<10应用场景:在循环列表中限定列表的范围4、and/or/notand且,同时满足,效果同[][][]a[@classand@href]or或,满足其中1个即可a[@classor@href]not不是a[not(@class)]5、following-sibling::a

选取当前节点之后的所有同级a节点(a为标签可替换),常用于数字翻页XPath函数用于描述属性写法要正确,符号需是英文描述属性:常用的XPath函数XPath实战练习-问题text()用文本定位位置,常与contains函数一起使用

text()='下一页'

精确定位contains(text(),'下一页')

模糊定位示例网址:/tag/%E7%AB%A5%E8%AF%9DXPath实战练习-问题contains()

用于判断文本的一部分是否包含XXX,或者属性值是否包含XXXcontains(text(),'xxx')判断文本的一部分是否包含XXXcontains(@class,'xxx')判断属性值是否包含XXX示例网址:/tag/%E7%AB%A5%E8%AF%9DXPath实战练习-问题position()用于定位节点的位置和限制节点的范围position()=1或者position()>1andposition()<10判断文本的一部分是否包含XXX应用场景:在循环列表中限定列表的范围示例网址:/tag/%E7%AB%A5%E8%AF%9DXPath实战练习-问题last()last()

定位最后一个结点last()-1

定位倒数第二个结点示例网址:/tag/%E7%AB%A5%E8%AF%9DXPath实战练习-问题and、or、not示例网址:/tag/%E7%AB%A5%E8%AF%9Dand且,同时满足,效果同[][][]a[@classand@href]or或,满足其中1个即可a[@classor@href]not不是a[not(@class)]实战演练演练网址1:/Search?keyword=%E7%94%B5%E8%84%91&enc=u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论