【小白向】从网页获取json/jsonp文件,使用Python导出为json格式

一、从网页直接获取数据(json文件/jsonp文件)

1.选择需要获取Json数据的网页

2.以edge为例,按F12打开开发者模式

如下图所示:

3.打开网络模块,此时开发者界面可能为空白状态

4.保持开发者界面存在的情况下,刷新(F5)需要获取数据的网页,此时会加载网页中的一些文件

5.筛选JS文件,可以直接找到需要的内容,右键即可保存为JSON文件。(如果这一步可以完成,恭喜后续就可以不用看了!)

*6.如果无法找到的情况下,试试搜索(Ctrl+F)查询相关的数据,通常是如下图的数据形式。

有这种情况下通常为jsonp格式(需要了解可以自行百度),但是我们通常需要保存为json格式,接下来就需要进行第二部分的操作

二、jsonp格式转换为json格式并保存

1.先将jsonp文件url复制

       此时我们可以将url用浏览器打开,可以看到是以jQuery开头的数据:

2.使用Python对数据进行处理

import requests
import re
import json

# 替换为你的实际JSONP数据的URL
jsonp_url = ('https://.....')

# 获取JSONP数据
response = requests.get(jsonp_url)
jsonp_data = response.text

# 移除JSONP包装
json_str = re.sub(r'^jQuery.*?\(', '', jsonp_data).rstrip(')')

# 解析JSON字符串为Python字典
data = json.loads(json_str)

# 将xxx(以对象的形式存在)的数据转换为列表,并过滤掉空的对象
result_list = [v for v in data['data']['xxx'].values() if v]

# 格式化输出为JSON字符串
json_output = json.dumps(result_list , ensure_ascii=False, indent=2)

# 可以观察输出结果
print(json_output)

file_path = 'result.json'  # 定义要保存的文件名和路径
with open(file_path, 'w', encoding='utf-8') as file:
    json.dump(result_list , file, ensure_ascii=False, indent=2)

print(f"Data has been successfully saved to {file_path}")

注意:

result_list = [v for v in data['data']['xxx'].values() if v]

xxx是在jsonp中的对象,例如 rise:

最后就能获得json格式的文件了!本人实际上并不会Js,但是需要获取数据,因此主要还是使用Python处理,如果上述有错误的情况请指正

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值