estoy haciendo un ejercicio que se trata de consumir un api rest y luego esos datos mandarlos a una base de datos , el problema es que no se porque me tira error cuando creo que la consulta esta bien hecha, estoy usando Python y MySQL , seguramente tengo algún error en las consultas pero no lo puedo ver ! muchas gracias por su ayuda
Error:
Codigo :
import urllib.request
import json
import requests
import pymysql
# Connect to the database
db = pymysql.connect(autocommit=True,
host='localhost',
user='root',
password='',
database='tp2_mongo',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
print(db)
cursor = db.cursor()
def conexionUrl(id):
url = "https://restcountries.eu/rest/v2/callingcode/" + id
# Consulta http
resp = requests.get(url)
if (resp.status_code != 404):
# Lectura de json
data = json.loads(resp.content)
# Asignacion de datos
codigoPais = data(0)('callingCodes')(0),
nombrePais = data(0)('name'),
capitalPais = data(0)('capital'),
region = data(0)('region'),
latitud = data(0)('latlng')(0),
longitud = data(0)('latlng')(1),
# print(codigoPais(0))
# print("SELECT * FROM pais WHERE codigoPais = ?", codigoPais(0))
pais = cursor.execute(
"SELECT * FROM pais WHERE codigoPais = ?", codigoPais(0))
if(pais):
cursor.execute('UPDATE pais SET nombrePais= ?,capitalPais=?,region=?,latitud=?,longitud=? WHERE codigoPais = ?',
nombrePais(0), capitalPais(0), region(0), latitud(0), longitud(0), codigoPais(0))
db.close()
else:
cursor.execute('INSERT INTO pais(codigoPais,nombrePais,capitalPais,region,latitud,longitud) values (?,?,?,?,?,?)',
(codigoPais(0), nombrePais(0), capitalPais(0), region(0), latitud(0), longitud(0)))
db.close()
for i in range(301):
conexionUrl(str(i))