Cómo consultar el Canal de Importación en Aduanas Perú automáticamente
Scraping para consultar el canal de una importación aduanera en python
Libretrias requeridas Requests
import requests
def consulta(data):
rptaJson={}
try:
header={"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36",
}
sesion=requests.session()
req=sesion.get("https://ww3.sunat.gob.pe/aduanas/informli/ildua.htm",headers=header,verify=False)
if req.status_code==200:
html=req.text
pos=html.find("ModDate")
posValue=html.find("value=",pos)
poscomilla=html.find("\"",posValue+7)
modDate=html[posValue+7:poscomilla]
print(modDate)
header={"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36",
"host":"ww3.sunat.gob.pe",
"origin":"https://ww3.sunat.gob.pe",
"referer":"https://ww3.sunat.gob.pe/aduanas/informli/ildua.htm",
"content-type":"application/x-www-form-urlencoded"
}
parametros=data.split("-")
regimen=parametros[0]
aduana=parametros[1]
anio=parametros[2]
declaracion=parametros[3]
payload={"n":regimen,
"codaduana":aduana,
"anoprese":anio,
"numecorre":declaracion,
"option":"una",
"%%ModDate":modDate,
"cadu":"",
"ndcl":"",
"codr":"",
"fano":"2001",
"accion":"",
"cod_adu":"",
"ann_dec":"",
"num_dec":"",
"token":"13"
}
req=sesion.post("https://ww3.sunat.gob.pe/servlet/SgCDUI2",data=payload,headers=header,verify=False)
if req.status_code==200:
html=req.text
pos=html.find("DUA(")
if pos>-1:
posfin=html.find("))",pos+4)
datos=html[pos+4:posfin]
datos=datos.replace("'","").replace(" ","").replace("<b>","").replace("</b>","")
print(datos)
campos=datos.split(",")
print(campos)
canal=campos[13]
posmayor=canal.find(">")
posmenor=canal.find("<",posmayor+1)
if(posmayor>-1):
canal=canal[posmayor+1:posmenor]
rptaJson[declaracion]={"Aduana":campos[0],
"CodigoAduana":campos[1],
"Orden":campos[2],
"Declaracion":campos[11],
"FechaNumeracion":campos[12],
"Canal":canal,
}
except Exception as e:
print("Error "+ str(e))
return rptaJson
if __name__=="__main__":
print(consulta("10-118-2026-369189"))
def consulta(data):
rptaJson={}
try:
header={"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36",
}
sesion=requests.session()
req=sesion.get("https://ww3.sunat.gob.pe/aduanas/informli/ildua.htm",headers=header,verify=False)
if req.status_code==200:
html=req.text
pos=html.find("ModDate")
posValue=html.find("value=",pos)
poscomilla=html.find("\"",posValue+7)
modDate=html[posValue+7:poscomilla]
print(modDate)
header={"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36",
"host":"ww3.sunat.gob.pe",
"origin":"https://ww3.sunat.gob.pe",
"referer":"https://ww3.sunat.gob.pe/aduanas/informli/ildua.htm",
"content-type":"application/x-www-form-urlencoded"
}
parametros=data.split("-")
regimen=parametros[0]
aduana=parametros[1]
anio=parametros[2]
declaracion=parametros[3]
payload={"n":regimen,
"codaduana":aduana,
"anoprese":anio,
"numecorre":declaracion,
"option":"una",
"%%ModDate":modDate,
"cadu":"",
"ndcl":"",
"codr":"",
"fano":"2001",
"accion":"",
"cod_adu":"",
"ann_dec":"",
"num_dec":"",
"token":"13"
}
req=sesion.post("https://ww3.sunat.gob.pe/servlet/SgCDUI2",data=payload,headers=header,verify=False)
if req.status_code==200:
html=req.text
pos=html.find("DUA(")
if pos>-1:
posfin=html.find("))",pos+4)
datos=html[pos+4:posfin]
datos=datos.replace("'","").replace(" ","").replace("<b>","").replace("</b>","")
print(datos)
campos=datos.split(",")
print(campos)
canal=campos[13]
posmayor=canal.find(">")
posmenor=canal.find("<",posmayor+1)
if(posmayor>-1):
canal=canal[posmayor+1:posmenor]
rptaJson[declaracion]={"Aduana":campos[0],
"CodigoAduana":campos[1],
"Orden":campos[2],
"Declaracion":campos[11],
"FechaNumeracion":campos[12],
"Canal":canal,
}
except Exception as e:
print("Error "+ str(e))
return rptaJson
if __name__=="__main__":
print(consulta("10-118-2026-369189"))
Comentarios
Publicar un comentario