最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

全面了解Python爬虫之xlml解析库

来源:动视网 责编:小OO 时间:2020-11-27 14:23:18
文档

全面了解Python爬虫之xlml解析库

1.Xpath;Xpath是一门在XML中查找信息的语言,可用来在XML文档中对元素和属性进行遍历。XQuery和xpoint都是构建于xpath表达之上。2.节点;父(parent),子(children),兄弟(sibling),先辈(ancetstor),后代(Decendant)。3.选取节点;
推荐度:
导读1.Xpath;Xpath是一门在XML中查找信息的语言,可用来在XML文档中对元素和属性进行遍历。XQuery和xpoint都是构建于xpath表达之上。2.节点;父(parent),子(children),兄弟(sibling),先辈(ancetstor),后代(Decendant)。3.选取节点;


下面小编就为大家带来一篇Python爬虫之xlml解析库(全面了解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1.Xpath

Xpath是一门在XML中查找信息的语言,可用来在XML文档中对元素和属性进行遍历。XQuery和xpoint都是构建于xpath表达之上

2.节点

父(parent),子(children),兄弟(sibling),先辈(ancetstor),后代(Decendant)

3.选取节点

路径表达式

表达式描述路径表达式结果
nodename选取此节点上的所有的子节点bookstore选取bookstore元素的所有子节点
/从根节点上选取/bookstore选取根元素bookstore,为绝对路径
//从匹配选择的当前节点选择文档中的节点,不考虑位置//book选取所有的book子元素,而不管他们在文档的位置
.选取当前节点bookstore//book选择bookstore后代中所有的book元素
..选取当前节点的父节点

@选取属性//@lang选取名为lang的所有属性

谓语

  谓语用来查找某个特定的节点或者包含某个指定的值的节点

  谓语被嵌在方括号中

路径表达式结果
/bookstore/book[1]选取属于bookstore子元素的第一个book元素
/bookstore/book[last()]选取属于bookstore子元素的最后book元素
/bookstore/book[last()-1]选取属于bookstore子元素的倒数第二个book元素
/bookstore/book[position()<3]选取最前面的两个属于bookstore元素的子元素的book元素
//title[@lang='eng']选取所有的title元素,并且这些元素拥有值为eng的lang属性
/bookstore/book[price>35.0]选取bookstore元素的所有book元素,且其中的price值大于35.0

选取未知节点(通配符)

*  匹配任何 元素节点

@*  匹配任何属性节点

node()  匹配任何类型的节点

4.lxml用法

#!/usr/bin/python
#_*_coding:utf-8_*_

from lxml import etree

text='''
<p>
 <ul>
 <li class="item-0"><a href="link1.html" rel="external nofollow" rel="external nofollow" >first item</a></li>
 <li class="item-1"><a href="link2.html" rel="external nofollow" >second item</a></li>
 <li class="item-inactive"><a href="link3.html" rel="external nofollow" >third item</a></li>
 <li class="item-1"><a href="link4.html" rel="external nofollow" >fourth item</a></li>
 <li class="item-0"><a href="link5.html" rel="external nofollow" >fifth item</a>
 </ul>
</p>
 '''

# html=etree.HTML(text) #html对象,存储在地址中,有自动修正功能
# result=etree.tostring(html) #将html对象转化为字符串

html=etree.parse('hello.html')
# result=etree.tostring(html,pretty_print=True)
# print result
print type(html)
result= html.xpath('//li')
print result
print len(result)
print type(result)
print type(result[0])
print html.xpath('//li/@class') # 获取li标签下的所有的class
print html.xpath('//li/a[@href="link1.html" rel="external nofollow" rel="external nofollow" ]') #获取li标签下href为link1的<a>标签
print html.xpath('//li//span') #获取li标签下所有的span标签
print html.xpath('//li[last()-1]/a')[0].text #获取倒数第二个元素的内容

文档

全面了解Python爬虫之xlml解析库

1.Xpath;Xpath是一门在XML中查找信息的语言,可用来在XML文档中对元素和属性进行遍历。XQuery和xpoint都是构建于xpath表达之上。2.节点;父(parent),子(children),兄弟(sibling),先辈(ancetstor),后代(Decendant)。3.选取节点;
推荐度:
标签: 理解 解析 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top