多语言展示
当前在线:1477今日阅读:155今日分享:35

xpath的入门基础教程

本文用来讲解xpath的入门基础
方法/步骤
1

本文用来讲解xpath的入门基础,本教材是xpath入门2,建议大家从入门1教程开始学习Xpath的教程适合对采集器已经有一些基础的用户来学习。Xpath:是一种路径查询语言,简单的说就是利用一个路径表达式找到我们需要的数据位置。Html:超文本标记语言,是用来描述网页的一种语言。主要用于控制数据的显示和外观。HTML文档也被称为网页。Xpath专用于xml中沿着路径查找数据用的,但是采集器内部有一套针对Html的Xpath引擎,使得直接用Xpath就能精准的查找定位网页里面的数据。

2

例如下图通过某狐浏览器的firebug、firepath查看网页源码。查看方法参考“xpath入门1”教程

3

完整的HTML文件至少包括标签、标签、标签和<BODY>标签,并且这些标签都是成对出现的,开头标签为<>,结束标签为</>,在这两个标签之间添加内容。通过这些标签中的相关属性可以设置页面的背景色、背景图像等。 Html标签作为开始和结束的标记由尖括号包围的关键词,比如 <html>标签对中,第一个标签是开始标签,第二个标签是结束标签 元素HTML的网页内容是由元素组成的,从开始标签到结束标签的所有代码。元素的开始和结束都使用标签作为开始和结束的标记 节点所有事物都是节点整个文档是一个文档节点每个 HTML 元素是元素节点HTML元素内的文本是文本节点每个 HTML 属性是属性节点注释是注释节点 Html常见标签<a></a>           定义超链接,用于从一张页面链接到另一张页面<h1></h1>        文本标题标签,最大的标签。从1到6,有6层选择<p></p>          段落标记标签<div></div>       可定义文档中的区域或节、可以把文档分割为不同的部分,是一个块级元素<ul></ul>         创建一个列表<li></li>          创建列表内容项<input>           用于搜集用户信息可以是文本字段、复选框、按钮等等<img></img>      向网页中嵌入一幅图像,从网页中链接图像<table></table>     创建一个表格<tr></tr>          表格中的每一行<th></th>          设置表格头,通常是黑体居中文字<option></option>   设置每个表单项的内容,选项 可以通过这些常见的标签找到数据的位置。例如//a就代表能匹配到这个网页中所有可以点击的链接</p></div><div class="listcon"><span>4</span><p>Html常见属性属性是用来修饰标签的,放在开始标签里面class规定元素的类名,大多数时候用于指定样式表中的类id唯一标识一个元素的属性,在html里面必须是唯一的href指定超链接目标的urlsrc图像文件的url例如//span[@class='itemWithIcon calendar']通过class这个属性就匹配到了当前页面所有的日期。</p></div><div class="listcon"><span>5</span><p>Xpath常见写法text()文本定位位置例如//a[text()='下一页 » ']通过源码中文本“下一页 »”就匹配到了,这个text()是需要精确匹配源码中的文本的</p></div><div class="listcon"><span>6</span><p>contains()用来判断字符串的一部分contains(text(),'')contains(@class,'') 这个contains是用来模糊匹配的,可以看到源码中显示的是“下一页 »”,用contains只需要“下一页”3个字就可以了</p></div><div class="listcon"><span>7</span><p>positon()表示节点的序号last()//div[last()]</p></div><div class="listcon"><span>8</span><p>首先看到上图中xpathhtml/body/div[1]/div[3]/div/div/div[2]/div[1]/div匹配到了网页中的所有教程,但是我们如果只需要里面几项的时候就可以使用position()如下图:通过html/body/div[1]/div[3]/div/div/div[2]/div[1]/div[position()=5],里面的[position()=5]就可以指定是某个具体的教程了。</p></div><div class="listcon"><span>9</span><p>following-sibling当前元素的兄弟元素这个可以参看数字翻页的例子哈 and\or\notand    并且与关系or     并且或关系not      不是例如下面的html/body/div[1]/div[3]/div/div/div[2]/div[1]/div[2]/div/a[@style and @href],其中的[@style and @href]就代表找到同时具有这两个style和href属性的a标签</p></div></div><div class="prev_next"> <div class="prev"> <span>上一篇:</span><a href="/ajklb.html">《魔兽世界》阿什兰入门攻略</a> </div> <div class="next"> <span>下一篇:</span><a href="/ajkld.html">水瓶座在感情上有哪些特点?</a> </div> </div> </div> <div class="appleccmw content-right"> <div class="listmore">推荐信息</div> <div class="send_list"> <ul> <li><a href="/ajklc.html" title="xpath的入门基础教程"><span>1</span><h3>xpath的入门基础教程</h3></a></li> <li><a href="/dyjbr.html" title="HP T790 24英寸幅面打印机安装620mm卷筒"><span>2</span><h3>HP T790 24英寸幅面打印机安装620mm卷筒</h3></a></li> <li><a href="/dyjbq.html" title="关于HP X系列商用喷墨打印机的电源节能设置"><span>3</span><h3>关于HP X系列商用喷墨打印机的电源节能设置</h3></a></li> <li><a href="/dyjbp.html" title="HP激光打印机直连XP并和WIN7共享解决方法!"><span>4</span><h3>HP激光打印机直连XP并和WIN7共享解决方法!</h3></a></li> <li><a href="/dyjbo.html" title="HP工作站开机出现512报错如何解决"><span>5</span><h3>HP工作站开机出现512报错如何解决</h3></a></li> <li><a href="/dyjbn.html" title="惠普工作站如何在HP BIOS中设置硬盘工作模式"><span>6</span><h3>惠普工作站如何在HP BIOS中设置硬盘工作模式</h3></a></li> <li><a href="/dyjbm.html" title="HP工作站开机报错:209 error"><span>7</span><h3>HP工作站开机报错:209 error</h3></a></li> <li><a href="/dyjbl.html" title="HP工作站开机报错:518—PCI fan not detected"><span>8</span><h3>HP工作站开机报错:518—PCI fan not detected</h3></a></li> <li><a href="/dyjbk.html" title="哈利波特魔法觉醒格林德沃燃气灶什么时候上线"><span>9</span><h3>哈利波特魔法觉醒格林德沃燃气灶什么时候上线</h3></a></li> <li><a href="/dyjbj.html" title="M603 系列打印机 - 打印出现乱码故障排除"><span>10</span><h3>M603 系列打印机 - 打印出现乱码故障排除</h3></a></li> <li><a href="/dyjbi.html" title="hp打印机如何重新设置wifi"><span>11</span><h3>hp打印机如何重新设置wifi</h3></a></li> <li><a href="/dyjbh.html" title="HP Designjet T920系列打印机安装卷筒纸的步骤"><span>12</span><h3>HP Designjet T920系列打印机安装卷筒纸的步骤</h3></a></li> <li><a href="/dyjbg.html" title="HP Designjet T920系列打印机安装单张纸的步骤"><span>13</span><h3>HP Designjet T920系列打印机安装单张纸的步骤</h3></a></li> <li><a href="/dyjbf.html" title="buffalo wcr-hp-gn路由器设置"><span>14</span><h3>buffalo wcr-hp-gn路由器设置</h3></a></li> <li><a href="/dyjbe.html" title="奥迪S5 3.0T刷ECU升级方案"><span>15</span><h3>奥迪S5 3.0T刷ECU升级方案</h3></a></li> <li><a href="/dyjbd.html" title="EXCEL中的表格如何放大?"><span>16</span><h3>EXCEL中的表格如何放大?</h3></a></li> <li><a href="/dyjbc.html" title="iPhone界面美化攻略(winterboard篇)"><span>17</span><h3>iPhone界面美化攻略(winterboard篇)</h3></a></li> <li><a href="/dyjbb.html" title="讴歌CDX 1.5T刷UEC再搭配TuningBox升级方案"><span>18</span><h3>讴歌CDX 1.5T刷UEC再搭配TuningBox升级方案</h3></a></li> <li><a href="/dyjba.html" title="php如何利用session和mysql来统计用户在线时常"><span>19</span><h3>php如何利用session和mysql来统计用户在线时常</h3></a></li> <li><a href="/dyjaz.html" title="SpringBoot40-springboot中redis的对象操作"><span>20</span><h3>SpringBoot40-springboot中redis的对象操作</h3></a></li> <li><a href="/dyjay.html" title="2016年越野赛安全预案"><span>21</span><h3>2016年越野赛安全预案</h3></a></li> </ul> <div class="clear"></div> </div> </div> </div> <div class="clear"></div> <div class="onjfeeds"></div><span class="onj_live"></span><span class="childonj"></span><div class="onj_location"></div><span class="buddhaonj"></span><div class="branchesccmw footer_service"> <a href="/sitemap.html" target="_blank">网站地图</a> <a href="/sitemap.xml" target="_blank">XML</a> <a href="/sitemap.txt" target="_blank">TXT</a> <a href="/rss.xml" target="_blank">RSS</a> <a href="/privacy.html" target="_blank">隐私政策</a> <a href="/service.html" target="_blank">服务条款</a> <a href="/agreement.html" target="_blank">使用条款</a> <div class="flagccmw footer_copyright clogWalletccmw">Copyright ©1996-2025 www.onijiang.com Corporation, All Rights Reserved</div> </div> <script src="/static/index1js/jquery-3.5.1.min.js" rel="external nofollow"></script> <script src="/static/js/share.js" rel="external nofollow"></script> <script src="/static/js/tran.js" rel="external nofollow"></script> <script src="/static/js/langs.js" rel="external nofollow" ></script> <div class="onj_happy"></div><span class="containeronj"></span><div class="baronj" id="baronj"></div><div id="Family_seal_onj"></div><script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body> </html>