es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error al descargar y descomprimir el archivo zip desde el sitio web. Error: zipfile.BadZipFile: El archivo no es un archivo zip.

Tengo un script que descarga archivos zip en una carpeta en mi escritorio y luego los descomprime en otra ubicación local. La mayoría de los archivos funcionan bien, excepto algunos. He intentado encontrar una solución buscando el error, pero no logro entender dónde o por qué ocurre el error.

Estoy descargando los datos de un sitio web específico del país. Tengo alrededor de cinco sitios web de países que se están iterando para descargar y descomprimir los datos. Como mencioné, los archivos zip de uno de ellos terminan estando corruptos. Si descargo y descomprimo los datos manualmente, funcionan perfectamente. ¿Entonces supongo que es un error de Python?

La parte if Country != "BE" es solo una “solución” temporal, ya que de lo contrario el script “falla”. Primero, los datos se descargan en la ubicación DataOut y luego deben descomprimirse en UnpackedDataOut:

with open(os.path.join(DataOut,file_name),"wb") as file:
    response = get(domain + url)
    file.write(response.content) 

if Country != "BE":
    with ZipFile(DataOut+"\\"+file_name,"r") as zipObj:
        zipObj.extractall(UnpackedDataOut)

Los datos para BE fueron descargados y si intento abrirlos manualmente después de descargarlos mediante Python, devuelve el mensaje de error en el archivo comprimido.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que haya un problema con la forma en que el script maneja el archivo zip para el país específico. También es posible que haya un problema con el archivo zip en sí. Aquí tienes algunos pasos que puedes seguir para intentar solucionar el problema:

    1. Verifica el tamaño del archivo y compáralo con el tamaño del archivo descargado manualmente. Si los tamaños difieren, puede indicar que hubo un problema con la descarga.
    2. Intenta descomprimir manualmente el archivo para ver si hay algún error en él.

    3. Revisa el código de Python para ver si hay algún problema con la forma en que el archivo zip se desempaqueta. Por ejemplo, verifica que la ruta del archivo sea correcta y que el archivo zip se esté abriendo en modo de lectura.

    4. Intenta utilizar un paquete de Python diferente para descomprimir el archivo, como shutil o zipfile.

    Esperemos que alguno de estos pasos te ayude a identificar y solucionar el problema. ¡Buena suerte!

Comments are closed.