#xpath解析: 最常用且最高效的一种结息方式
#1. xpath解析原理:
# 1. 实例化一个etree对象, 且需要将被解析的页面源码数据加载到该对象中
# 2. 调用etree对象中的xpath方法结合xpath表达式实现标签定位和内容捕获
#2. 环境安装
# pip install lxml(解析器)
#3.实例化一个etree对象: from lxml import etree
# 1.实例化一个etree对象, 将被本地的页面源码数据加载到该对象中
# etree.parse(filePath)
# 2.将互联网上的源码加载到该对象中
# etree.HTML('page_text')
# 重点: xpath('xpath表达式') 定位不同的标签
# 3.xpath定位
# / 表示从根节点开始定位
# r=tree.xpath('/html/body/div')
# // 表示多个层级, 可以表示从任意位置开始定位
# r=tree.xpath('//h1')
# r=tree.xpath('/html/body//div')
# 属性定位div[@class="sitenav"]
# r=tree.xpath('//header/div/div[@class="sitenav"]')
# 索引定位,下标从1开始
# r=tree.xpath('//div[@class="sitenav"]/ul/li[3]')
# r1 = tree.xpath('//header/div/div')
# 取文本 /text() 返回列表
# r=tree.xpath('//div[@class="sitenav"]/ul/li[2]/a/text()')
# r=tree.xpath('//div[@class="sitenav"]/ul/li[2]//text()')
# r=tree.xpath('//div[@class="sitenav"]//text()')
# 取属性 /@attrName ==>(img/src)
# r=tree.xpath('//div[@class="article-tags"]/a/@href')
#
#
import requests
from lxml import html
if __name__=='__main__':
#实例化一个etree对象 加载源码到对象中
tree=html.parse('w.html')
r=tree.xpath('//div[@class="article-tags"]/a/@href')
print(r)
爬虫学习之xpath解析
最新推荐文章于 2022-06-01 11:20:37 发布