【发布时间】:2022-01-15 03:08:08
【问题描述】:
通过使用 python,我一直在尝试从在线 API 获取数据并将其解析到 MySQL 服务器中。但是,我不断遇到不同的错误。其中一个错误是
Exception has occurred: AttributeError 'str' object has no attribute 'get' File "C:\Users\bazoo\ShortPy\ShortPy.py", line 19, in <module> title=comic.get("title")"
感谢任何帮助。
代码:
from sqlite3.dbapi2 import Connection, Cursor
import requests
import sqlite3
import json
import pandas as pd
import pyodbc
import MySQLdb
import mysql.connector
import pymysql
from requests.models import Response
response_API= requests.get('https://api.shortboxed.com/comics/v1/new')
data=response_API.json()
comics_in_box=json.dumps(data)
conn = pymysql.connect(host ="", user ="", password = "", db ="")
cursor=conn.cursor()
for comic in comics_in_box:
title=comic.get("title")
publisher=comic.get("publisher")
price=comic.get("price")
diamond_id=comic.get("diamond_id")
cursor.execute("insert into Shortbox (title, publisher, price, diamond_id) value (%s, %s, %s, %s)", (title, publisher, price, diamond_id))
conn.commit()
conn.close()
【问题讨论】:
-
您遇到的错误是什么?
-
发生异常:AttributeError 'str' object has no attribute 'get' File "C:\Users\bazoo\ShortPy\ShortPy.py",第 19 行,在
title=comic 中。获取(“标题”) -
是的,json.dumps 从一个对象中生成一个字符串,所以你可能只需要不做
comics_in_box=json.dumps(data)而是说comics_in_box = data -
错误仍然存在