目前看到2-5
xPath:
1.一种HTML和XML的查询语言,他能在XML和HTML的树状结构中寻找节点
2.安装 pip install lxml
超文本,不仅仅是文本
url 唯一对应
css就是样式
屏幕快照 2019-05-29 下午9.46.18.png 屏幕快照 2019-05-29 下午9.50.16.png
单斜杠是根路径开始匹配
双斜杠是随便哪里开始匹配
#使用xpath
from lxml import html
def parse():
""" 将html文件中的内容,使用xpath进行提取 """
# 读取文件中的内容
f = open('./static/index.html', 'r', encoding='utf-8')
s = f.read()
selector = html.fromstring(s)
# 解析H3标题
h3 = selector.xpath('/html/body/h3/text()')
print(h3[0]) #[0]是为了数组的切割
# 解析ul下面的内容
# ul = selector.xpath('/html/body/ul/li')
ul = selector.xpath('//ul/li')
print(len(ul))
for li in ul:
print(li.xpath('text()')[0])
# 解析ul指定的元素值
ul2 = selector.xpath('/html/body/ul/li[@class="important"]/text()')
print(ul2)
# 解析a标签的内容
a = selector.xpath('//div[@id="container"]/a/text()')
# 标签内的内容
print(a[0])
# href属性
alink = selector.xpath('//div[@id="container"]/a/@href')
print(alink[0])
# 解析P标签
p = selector.xpath('/html/body/p[last()]/text()')
print(len(p))
print(p[0])
test = selector.xpath('/html/body/ul/li[3]/text()')
print(test[0])
f.close()
if __name__ == '__main__':
parse()
偷懒的方法 直接右键检查元素。复制xpath
网友评论