Python爬虫02

在这里插入图片描述
xml 和html 区别
在这里插入图片描述

jsonpath模块

  • 场景

    多层嵌套的复杂字典直接提取数据

  • 安装

pip install jsonpath
  • 使用
from jsonpath import jsonpath

ret = jsonpath(dict, 'jaonpath语法规则字符串')
  • 语法规则


eg:
在这里插入图片描述

lxml模块&xpath语法

  • 谷歌浏览器 xpath helper 插件
作用
	对当前页面测试xpath语法规则
	
  • xpath 语法

1.基础语法

在这里插入图片描述

/html/head/title 绝对路径
/html//title.    相对路径
//title          相对于整个html文档
//title/.        当前节点
//title/./../..  父节点           

2.选取特定节点的语法

可以根据标签的属性值,下标等来获取特定的节点

在这里插入图片描述

节点修饰语法
	1.通过索引修饰节点
	/html/body/div[3]/div/div[1]/div
	/html/body/div[3]/div/div[1]/div[3]
	/html/body/div[3]/div/div[1]/div[last()].     选中最后一个
	/html/body/div[3]/div/div[1]/div[last()-1].   选中倒数第二个
	/html/body/div[3]/div/div[1]/div[position() >=10].   范围选择
	2.通过属性值修饰节点
	//div[@id='content-left']/div/@id
	出现在[]中的@是使用标签属性名和属性值修饰节点
	3.通过子节点的值修饰节点
	//span[i>2000]
	//div[span[2]>=9.4]
	4.通过包含修饰
	//div[contains(@id, "qiushi_tag_")]
	//span[contains(text(), "一页")]
	
(xpath中,第一个元素的位置是1

3.选取未知节点的语法
在这里插入图片描述

lxml使用

  • 安装
pip install lxml
  • 使用
1.导入lxml的etree库
from lxml import etree
2.利用etree.HTML,将html字符串(bytes|str)转化为Element对象,Element对象具有xpath的方法,返回结果的列表
html = etree.HTML(text)
ret_list = html.xpath("xpath语法规则字符串")
3.xpath方法返回列表的三种情况
返回空列表
返回有字符串构成的列表
返回由Element对象构成的列表
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值