学习Python 二十二 (爬虫三,xpath)

19.6 xpath的入门使用

进行数据筛选的时候正则表达式
xpath全称xml path
json {“id”:1,“name”:“zahng”}
Html超文本标记语言

xml:
1
张三

xpath规则:
nodename ----------- 选取所有节点的子节点
/ ------------------------ 根节点
// ------------- 从当前的节点选取子孙节点
. ---------------------- 选取当前节点
… ------------------- 选取当前节点的父节点
@ -------------------- 选取属性

在pycharm使用xpath需要安装lxml
pip install lxml
python - m pip install lxml
pip install lxml -i http://pypi.douban.com/simple/

from lxml import etree 
content = """ 
<div class = "containner"> 
	<ul class = "first"> 
	<li><a href = "#">内容1</a></li> 
	<li><a href = "http://www.taobao.com">内容2</a></li> 
	<li class = "active"><a href = "#">内容3</a></li> 
	<li><a href = "#">内容4</a></li> 
	<li><a href = "http://www.baidu.com">内容5</a></li> 
	<li><a href = "#">内容6</a></li> 
	<li><a href = "#">内容7</a></li> 
	<li><a href = "#">内容8</a></li> 
</ul>
</div> 
""" 
#etree.HTMLParser()解析器 
html = etree.HTML(content,etree.HTMLParser()) 
print(html) #获取所有li标签下a标签的内容 
# res = html.xpath("//li/a/text()") 
# print(res) 
#获取a标签的属性 
# res = html.xpath("//li/a/@href") 
# print(res) 
#如果要加上属性值 
res = html.xpath("//li/a[@href='http://www.baidu.com']/text()") 
print(res)

推荐大家使用:xpathhelper工具

おすすめ

転載: blog.csdn.net/weixin_53002381/article/details/116430990