爬虫——xpath

1.什么是xpath?

     Xpath,全称XML Path Language,即XML路径语言。它是一门在XML之后查找信息的语言,也同样适用于HTML文档的搜索。在做爬虫的时候,我们用XPath语言来做相应的信息抽取。

2.为什么要学习xpath?

  • xpath可用于xml和html
  • xpath比正则表达式更加简单和强大
  • scrapy也支持xpath语法

3.节点

  • 父节点
  • 子节点
  • 后代节点
  • 兄弟节点

4.常用规则

实例如下: //title[@lang='eng']  ,这个表达式的意思是选择所有名称为titile,同时属性为eng的节点。

5.demo

from lxml import etree  #从lxml库导入etree模块,lxml是python的一个解析库,支持HTML和XML的解析,而且效率非常高。
text = '''  
<div>
<ul>
<li class ="item-0"><a href="link1.html">first item</a></li>
<li class ="item-1"><a href="link2.html">second item</a></li>
<li class ="item-inactive"><a href="link3.html">third item</a></li>
<li class ="item-1"><a href="link4.html">fourth item</a></li>
<li class ="item-0"><a href="link5.html">fifth item</a>
</ul>
</div>
'''
html = etree.HTML(text) #对文本进行初始化,构造出一个XPath解析对象,etree模块可以对不完整的代码进行补全修正。
result = etree.tostring(html)  #Xpath解析对象是bytes类型,用toString方法转换成string类型
print(result.decode('utf-8')) 

猜你喜欢

转载自www.cnblogs.com/2sheep2simple/p/10306883.html