python解析jsonp
时间: 2023-09-23 13:12:03 浏览: 153
python json 解析
JSONP(JSON with Padding)是一种跨域数据交互方式,它利用了浏览器允许跨域请求 JS 脚本的特性。具体来说,JSONP 基于 script 标签的 src 属性来实现跨域数据的加载,它会将数据封装在一个函数中并返回给客户端,客户端再通过该函数来处理数据。
下面是一个使用 Python 解析 JSONP 的示例:
```python
import json
import requests
def parse_jsonp(jsonp_str):
# 提取 JSONP 中的 JSON 数据
json_str = jsonp_str.replace('callback(', '').replace(');', '')
# 解析 JSON 数据
data = json.loads(json_str)
return data
# 请求 JSONP 数据
url = 'http://example.com/data.js?callback=callback'
response = requests.get(url)
jsonp_str = response.text
# 解析 JSONP 数据
data = parse_jsonp(jsonp_str)
print(data)
```
在上面的代码中,我们使用 requests 库发送了一个 JSONP 请求,并获取了服务器返回的数据。接着,我们定义了一个 `parse_jsonp` 函数,用于提取 JSONP 中的 JSON 数据并解析它。具体来说,我们首先使用字符串替换函数将 JSONP 中的函数名和括号去掉,得到 JSON 数据;然后使用 json 库解析 JSON 数据并返回解析结果。
需要注意的是,在实际使用中,我们需要根据 JSONP 数据的具体格式来修改 `parse_jsonp` 函数的实现,以保证能够正确地解析数据。
阅读全文