将SERPAPI调用结果保存为JSON文件时出错,求解决方案
问题解决:将SerpAPI响应保存为JSON文件
错误分析
你的代码存在两个关键问题:
results.json是方法而非属性,需要调用results.json()才能获取JSON格式的响应数据,直接引用results.json会得到方法对象,导致json.loads()解析失败。results.json()返回的已经是Python字典类型,无需再用json.loads()二次解析,直接使用即可。
修正后的代码
import os import json import pandas as pd import serpapi from dotenv import load_dotenv load_dotenv() api_key = os.getenv('SERPAPI_KEY') client = serpapi.Client(api_key=api_key) # 发起API请求 results = client.search({ 'engine': 'google_maps_reviews', 'type': 'search', 'place_id': 'ChIJidRKt32YVogRN6fEPG9Kuho' }) # 获取解析后的Python字典数据 data = results.json() # 将数据保存到JSON文件 with open('google_maps_reviews.json', 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, indent=4)
关键说明
results.json():调用SerpAPI响应对象的方法,直接返回结构化的Python字典,省去手动解析JSON字符串的步骤。json.dump():将Python字典写入JSON文件,ensure_ascii=False保证非ASCII字符正常显示,indent=4让文件格式更易读。
内容的提问来源于stack exchange,提问作者Jose Nunez
相关产品推荐
相关产品推荐

