当前位置:   article > 正文

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

获取网页的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对数据进行处理

  1. import requests
  2. import re
  3. import json
  4. # 替换为你的实际JSONP数据的URL
  5. jsonp_url = ('https://.....')
  6. # 获取JSONP数据
  7. response = requests.get(jsonp_url)
  8. jsonp_data = response.text
  9. # 移除JSONP包装
  10. json_str = re.sub(r'^jQuery.*?\(', '', jsonp_data).rstrip(')')
  11. # 解析JSON字符串为Python字典
  12. data = json.loads(json_str)
  13. # 将xxx(以对象的形式存在)的数据转换为列表,并过滤掉空的对象
  14. result_list = [v for v in data['data']['xxx'].values() if v]
  15. # 格式化输出为JSON字符串
  16. json_output = json.dumps(result_list , ensure_ascii=False, indent=2)
  17. # 可以观察输出结果
  18. print(json_output)
  19. file_path = 'result.json' # 定义要保存的文件名和路径
  20. with open(file_path, 'w', encoding='utf-8') as file:
  21. json.dump(result_list , file, ensure_ascii=False, indent=2)
  22. 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处理,如果上述有错误的情况请指正

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/963297
推荐阅读
相关标签
  

闽ICP备14008679号