python--爬虫之JSON于JsonPath
2024-10-08 22:59:18
JSON
json的引入
在python中json作为一个内建库不需要额外安装,只需要使用import json
执行引入
json模块的功能
在python中json模块提供了四个功能:dumps
、dump
、loads
,load
- json.loads()
将json格式字符串编码转换为python对象。 - json.dumps()
把一个Python对象编码转换成Json字符串,json.dumps() 序列化时默认使用的ascii编码,如果想获取utf-8格式可以使用json.dumps(str, ensure_ascii=False)
- json.dump()
将Python内置类型序列化为json对象后写入文件json.dump(list, open("list.json","w"), ensure_ascii=False)
- json.load()
读取文件中json形式的字符串元素 转化成python类型json.load(open("list.json"))
JsonPath
JsonPath的引入
首先使用pip安装pip install jsonpath
,然后引入import jsonpath
JsonPath的使用
表达式 | 描述 |
---|---|
$ | 根节点 |
@ | 现行节点 |
.or[] | 取子节点 |
.. | 不管位置,选择所有符合条件的对象 |
* | 匹配所有元素节点 |
[] | 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等) |
[,] | 支持迭代器中做多选。 |
?() | 支持过滤操作. |
() | 支持表达式计算 |
实例
from urllib.request import *
import jsonpath
import json
url = 'http://www.lagou.com/lbs/getAllCitySearchLabels.json'
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36"}
request = Request(url, headers=header)
response = urlopen(request)
html = response.read()
obj = json.loads(html)
cityList = jsonpath.jsonpath(obj, '$..name')
print(cityList)
最新文章
- EST
- Java基础学习 -- 异常
- C#产生不重复随机数
- [网络] 用 OpenVPN 实现站对站 VPN 服务
- [CareerCup] 2.3 Delete Node in a Linked List 删除链表的节点
- Android音乐播放器的开发实例
- JAVA Socket:文件传输
- BFC(Box,Formatting,Context) —— 块级格式化上下文
- 浅谈UML中类之间的五种关系及其在代码中的表现形式
- Python多进程使用
- <;转载>;无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
- 两种方式在Tableau Desktop 中创建子弹图(Bullet Chart)
- Linq中max min sum avarage count的使用
- Spring学习(1)——快速入门
- RabbitMQ教程
- 读Vue源码二 (响应式对象)
- [LeetCode] 709. To Lower Case_Easy
- 基于MATLAB的腐蚀膨胀算法实现
- vs2012更改默认开发环境
- matlab学习笔记 函数bsxfun repmat