- Python爬虫基础——HTML、CSS、JavaScript、JQuery网页前端技术
- Python爬虫基础——正则表达式
- Python爬虫基础——re模块的提取、匹配和替换
- Python爬虫基础——XPath语法的学习与lxml模块的使用【CSDN】
- Python爬虫进阶——JsonPath使用案例
- Python爬虫进阶——urllib模块使用案例【淘宝】
- Python爬虫进阶——Request对象之Get请求与URL编码【英雄联盟吧】
- Python爬虫进阶——Request对象之post请求案例分析【百度翻译】
- Python爬虫实战—— Request对象之header伪装策略
- Python爬虫实战——反爬策略之代理IP【无忧代理】
- Python爬虫实战——反爬策略之模拟登录【CSDN】
- Python爬虫实战——反爬机制的解决策略【阿里】
- Python爬虫总结——常见的报错、问题及解决方案
如果一个网站采用前端渲染,那么这个网站的前端会访问后端的一些接口,然后拿到后端向前端返回的数据(一般都是Json类型,Json对象的本质其实是一个bytes字节流,但我们可以通过转码的方式,把它转成str),再把Json数据交给JS,JS对其进行解析,最终渲染页面。
这就是前端渲染的一个流程。
很多商城网站都会这样做,因为可以减缓服务器的压力。
那对于我们爬虫开发来说,如果我们拿到了后端向前端返回的JSon数据,我们又该如何对它进行解析呢?
Json与Python的区别
Json | Python |
---|---|
null | None |
true | True |
false | False |
将Json数据转换成Python数据
- 导入json库,并生成python_data:
import json
python_data = [
{
'username': 'name1',
'vip': True,
},
{
'username': None,
'vip': False,
},
]
- dumps:
# dumps 用于把Python对象转换成Json对象
json_data = json.dumps(python_data)
print(json_data)
print(type(json_data))
输出如下:
- loads:
# loads 用于把Json对象转换成Python对象
python_data2 = json.loads(json_data)
print(python_data2)
print(type(python_data2))
输出如下:
- dump:
# dump 把Python类型的数据转化成Json类型的字符串,然后保存到本地
json.dump(python_data,open('json.txt', 'w'))
输出如下:
- load:
# load 用于读取本地的json数据,并转换成Python对象
python_data2 = json.load(open('json.txt'))
print(python_data2)
输出如下:
为我心爱的女孩~~