You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已用ChromeDriver打开JSON网页,如何转换为Pandas DataFrame?

解决方案

其实你没必要用ChromeDriver处理这个JSON接口,直接用requests库请求更高效,下面给你两种可行方案:

方法一:直接请求JSON接口(推荐)

这个链接本身就是返回JSON数据的接口,不需要启动浏览器,代码更简洁高效:

import requests
import pandas as pd

url = "https://www.cia.gov/resources/world-leaders/page-data/sq/d/3159235335.json"
# 发送HTTP请求获取数据
response = requests.get(url)
response.raise_for_status()  # 确保请求成功,失败则抛出异常
# 解析JSON为Python字典
data = response.json()

# 提取核心数据集(根据该JSON结构,领导人数据在`data.worldLeaders.nodes`路径下)
df = pd.DataFrame(data['data']['worldLeaders']['nodes'])
# 查看前5行数据
print(df.head())

方法二:基于你已有的ChromeDriver代码继续处理

如果一定要用浏览器加载的方式,你可以获取页面源码(就是JSON字符串),再解析转成DataFrame:

from selenium import webdriver
import pandas as pd
import json

chromedriver_path = r"./driver/chromedriver"
browser = webdriver.Chrome(executable_path=chromedriver_path)
url = "https://www.cia.gov/resources/world-leaders/page-data/sq/d/3159235335.json"

browser.get(url)
# 获取页面显示的JSON文本内容
json_text = browser.page_source
# 将JSON字符串解析为Python字典
data = json.loads(json_text)
# 提取数据并转换为DataFrame
df = pd.DataFrame(data['data']['worldLeaders']['nodes'])
print(df.head())

# 操作完成后关闭浏览器
browser.quit()

注意事项

  • 该JSON数据的核心内容嵌套在data['data']['worldLeaders']['nodes']中,如果你需要其他字段,可以调整字典的索引路径。
  • 用requests的方法不需要额外安装浏览器驱动,运行速度更快,优先推荐。

内容的提问来源于stack exchange,提问作者Giampaolo Levorato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:05:09