网络爬虫_XPath的学习(3)

下面是22个运用XPath语法的实例:

(1)基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径

(2)如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)

(3)星号 * 表示选择所有由星号之前的路径所定位的元素

(4)方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素.

(5)属性通过前缀 @ 来指定

(6)属性的值可以被用来作为选择的准则, normalize-space函数删除了前部和尾部的空格, 并且把连续的空格串替换为一个单一的空格

(7)count()函数可以计数所选元素的个数

(8)name()函数返回元素的名称, start-with()函数在该函数的第一个参数字符串是以第二个参数字符开始的情况返回true, contains()函数当其第一个字符串参数包含有第二个字符串参数时返回true.

(9)string-length函数返回字符串的字符数,你应该用&lt;替代<, 用&gt;代替>

(10)多个路径可以用分隔符 | 合并在一起

11 child轴(axis)包含上下文节点的子元素, 作为默认的轴,可以忽略不写.

12 descendant (后代)轴包含上下文节点的后代,一个后代是指子节点或者子节点的子节点等等, 因此descendant轴不会包含属性和命名空间节点.

(13)parent轴(axis)包含上下文节点的父节点, 如果有父节点的话

14ancestor轴(axis)包含上下节点的祖先节点, 该祖先节点由其上下文节点的父节点以及父节点的父节点等等诸如此类的节点构成,所以ancestor轴总是包含有根节点,除非上下文节点就是根节点本身.

15.preceding-sibling 轴(axis)包含上下文节点之前的所有兄弟节点

16.following-sibling轴(axis)包含上下文节点之后的所有兄弟节点

17.following轴(axis)包含同一文档中按文档顺序位于上下文节点之前的所有节点, 除了祖先节点,属性节点和命名空间节点

18.following轴(axis)包含同一文档中按文档顺序位于上下文节点之前的所有节点, 除了祖先节点,属性节点和命名空间节点

19.descendant-or-self 轴(axis)包含上下文节点本身和该节点的后代节点

20 ancestor-or-self 轴(axis)包含上下文节点本身和该节点的祖先节点

21 ancestor, descendant, following, preceding 和self轴(axis)分割了XML文档(忽略属性节点和命名空间节点), 不能交迭, 而一起使用则包含所有节点

22 div运算符做浮点除法运算, mod运算符做求余运算, floor函数返回不大于参数的最大整数(趋近于正无穷), ceiling返回不小于参数的最小整数(趋近于负无穷)

时间: 2024-12-29 10:59:08

网络爬虫_XPath的学习(3)的相关文章

网络爬虫_XPath的学习(1)

(1)简介: XPath是一门在XML文档中查找信息的语言,XPath可用来在XML文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上. 因此,对 XPath 的理解是很多高级 XML 应用的基础. XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.起初 XPath 的提出的

网络爬虫_XPath的学习(2)

(1) XPath Axes(坐标轴) XML 实例文档 我们将在下面的例子中使用此 XML 文档: 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 3 <bookstore> 4 5 <book> 6 <title lang="eng">Harry Potter</title> 7 <price>29.99</price

Python网络爬虫基础知识学习

对Python有一些简单了解的朋友都知识Python编程语言有个很强大的功能,那就是Python网络爬虫(http://www.maiziedu.com/course/python/645-9570/),一提到Python,就会想到相关的Python爬虫和scrapy等等,今天就来简单认识学习Python爬虫的基础知识,有了一定的相关爬虫知识,以后学习scrapy.urllib等等知识时,会相对轻松些. 爬虫: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组

HtmlUnit 网络爬虫 菜鸟的学习笔记(二)

这次我以爬新浪微博为例,这个过程太纠结了,参考了好多大神的帖子,不过还是遗留了很多问题,我们慢慢来看,希望大神帮于指正,我的方法暂时来说还是比较挫的 登陆问题 爬新浪微博首先要登陆,之前爬的妹纸网站,由于不用登陆,所以没这一步,但是爬新浪微博我们必须要先登录,但是要涉及到一个问题,那就是验证码,验证码从我现在百度到的,和自己的理解,感觉暂时还是不能解决的,除非手工输入,因为本身验证码就是防止恶意登陆,防爬虫的,所以建议想试试的朋友用暂时用不输入验证码的账号试试(关于验证码,期盼大神可以给些提示)

HtmlUnit 网络爬虫 菜鸟的学习笔记(一)

什么是HtmlUnit HtmlUnit是一个开源的浏览器模拟工具,可以方便我们模拟浏览器的行为,例如打开网页,提交表单等,这样我们可以用他来爬网页 官网下载:http://htmlunit.sourceforge.net/ java API:http://htmlunit.sourceforge.net/apidocs/index.html 怎么用HtmlUnit (我的IED是idea,用的maven工程) 在pom文件里导入HtmlUnit的依赖包 <dependency>     &l

HtmlUnit 网络爬虫 菜鸟的学习笔记(三)

上一篇写到,要是分析每一个url,包括滚动条滚动的url和分页的url就可以构造出来url来访问,从而抓取信息,但是这样要是想把我关注的人的所有微博全部输出的话,岂不是每个关注的人的url都要去看和分析,这样工作量就很大了 所以今天刚我就仔细分析了一下的url,发现其实变化量除了page和pagebar这两个参数,还有其他的参数需要关注: 该人的主页id,domain和id,下面说明一下 给一个分页的url参考一下 http://weibo.com/u/1645851277?pids=Pl_Of

Python网络爬虫使用总结

网络爬虫使用总结:requests–bs4–re技术路线 简要的抓取使用本技术路线就能轻松应对.参见:Python网络爬虫学习笔记(定向) 网络爬虫使用总结:scrapy(5+2结构) 使用步骤: 第一步:创建工程: 第二步:编写Spider: 第二步:编写Item Pipeline: 第四步:优化配置策略: 工程路径: 网络爬虫使用总结:展望(PhantomJS) 如上所有的两条记录路线仅仅是对网页的处理,只能爬取单纯的html代码.就需要引出"PhantomJS",PhantomJ

爬虫学习之一个简单的网络爬虫

这是一个网络爬虫学习的技术分享,主要通过一些实际的案例对爬虫的原理进行分析,达到对爬虫有个基本的认识,并且能够根据自己的需要爬到想要的数据.有了数据后可以做数据分析或者通过其他方式重新结构化展示. 什么是网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫.via 百度百科网络爬虫 网络蜘蛛(Web spider)也叫网络爬虫(Web c

python网络爬虫学习资料

第一:Python爬虫学习系列教程(来源于某博主:http://cuiqingcai.com/1052.html) Python版本:2.7 整体目录: 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库的高级用法 5. Python爬虫入门五之URLError异常处理 6. Python爬虫入门六之Cookie的使用 7. Python爬虫入门七之正则