栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫 - Xpath & lxml 笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫 - Xpath & lxml 笔记

目录

# 1. Xpath & lxml 简介

# 2. lxml

## 2.1 导入

## 2.2 生成树状结构 - etree

## 2.3 树状结构解析 - .xpath('html文件所需值所在的路径')

# 3. Xpath

## 3.1 源代码

## 3.2 用到的 html 文件


--- 

# 1. Xpath & lxml 简介

        XPath,全称XML Path Language,即XML路径语言;
        lxml,支持HTML和XML的解析,支持XPath解析方式.

# 2. lxml

## 2.1 导入
from lxml import etree

## 2.2 生成树状结构 - etree

        对于网页文件,用etree.HTML(res),其中res是你requests.get(url).text;
        对于本地 html 文件,用etree.parse(./xxx.html) 即可;

        i.e. 两种方法的参数只要确保为.html格式即可

## 2.3 树状结构解析 - .xpath('html文件所需值所在的路径')

# 3. Xpath

## 3.1 源代码

        一般返回三种类型:节点,属性@,文本text()

from lxml import etree
tree = etree.parse('./xpath.html')


res = tree.xpath('//*')
res = tree.xpath('//ul/li')
res = tree.xpath('//ol/../@class') 
res = tree.xpath('//li[6]/a/text()')
res = tree.xpath('//ul/li[last()]/a/text()')
res = tree.xpath('//li[position()<3]//text()')
res = tree.xpath('//ul/li[last()-2]//text()')
res = tree.xpath('//ul//@href')
res = tree.xpath('//ul/li[5]/a/@href')  
res = tree.xpath('//li[@]')
"""[]_element类型""" 
res = tree.xpath('//li[contains(@class, "li")]/a/text()')   
res = tree.xpath('//li[@class = "li" and @name = "item"]/a/text()')
res = tree.xpath('//li[@]/text()')    
res = tree.xpath('//ol/li/text()')
res = tree.xpath('//ol//text()')
res = tree.xpath('//ul/li[last()-2]//text()')


print(res)

## 3.2 用到的 html 文件



   
   xpath测试



   火药
   指南针
   印刷术
   造纸术


   
  • 停车坐爱枫林晚,霜叶红于二月花。
  • 商女不知亡国恨,隔江犹唱后庭花。
  • 一骑红尘妃子笑,无人知是荔枝来。
  • 葡萄美酒夜光杯,欲饮琵琶马上催。
  • 百度一下
  • the 6th item
  1. first item
  2. first item
  3. 寻寻觅觅冷冷清清,凄凄惨惨戚戚。
  4. 咋暖还寒时候,最难将息。
  5. 三杯两盏淡酒。
  6. 怎敌他晚来风急。
  7. 雁过也,正伤心,却是旧时相识。
  8. 爱情三十六计
  9. 什么是爱情

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号