Descarga de ficheros municipales del SIGPAC de Navarra

  1. Comprobar en la página web [http://sigpac.navarra.es/descargas/] la estructura de la URL de descarga.
  2. Descargar los códigos de los municipios de Navarra (códigos INE). Se pueden descargar desde la propia web del INE (Instituto Nacional de Estadística) [http://www.ine.es/daco/daco42/codmun/codmun17/17codmunmapa.htm ]
  3. Crear un Array con todos códigos de municipio, para así iterar y poder crear la URL de cada municipio.
  4. Crear un bucle que crea una URL completa de cada código de municipio, recorriendo el Array creado en el paso 3. El bucle irá desde 0 a la longitud del Array-1.
  5. Añadir el paquete wget a python para poder descargar directamente los ficheros .zip
  6. Añadir el paquete zipfile para poder trabajar con los archivos .zip
  7. Crear un archivo .zip e ir añadiendo los ficheros descargados.
  8. Borrar los archivos descargados (importando el paquete os)

Autores: Marisa (mmansorena@gmail.com) eta Mikel (m.ayesta@gislan.eus)

import csv 
import urllib2 
import random
from bs4 import BeautifulSoup
import wget #paquete para poder descargar directamenete los ficheros
import zipfile #paquete para trabajar con *.zip
import os #paquete para poder borrar los ficheros descargados

#creamos el array

lista_cod_muni= [
        '001',
        '002',
        '003',
        '004',
        '005',
        '006',
        '007',
        '008',
        '009',
        '010',
        '011',
        '012',
        '013',
        '014',
        '015',
        '016',
        '017',
        '018',
        '019',
        '020',
        '021',
        '022',
        '023',
        '024',
        '025',
        '026',
        '027',
        '028',
        '029',
        '030',
        '031',
        '032',
        '033',
        '034',
        '035',
        '036',
        '037',
        '038',
        '039',
        '040',
        '041',
        '042',
        '043',
        '044',
        '045',
        '046',
        '047',
        '048',
        '049',
        '050',
        '051',
        '052',
        '053',
        '054',
        '055',
        '056',
        '057',
        '058',
        '059',
        '060',
        '061',
        '062',
        '063',
        '064',
        '065',
        '066',
        '067',
        '068',
        '069',
        '070',
        '071',
        '072',
        '073',
        '074',
        '075',
        '076',
        '077',
        '078',
        '079',
        '080',
        '081',
        '082',
        '083',
        '084',
        '085',
        '086',
        '087',
        '088',
        '089',
        '090',
        '091',
        '092',
        '093',
        '094',
        '095',
        '096',
        '097',
        '098',
        '099',
        '100',
        '101',
        '102',
        '103',
        '104',
        '105',
        '106',
        '107',
        '108',
        '109',
        '110',
        '111',
        '112',
        '113',
        '114',
        '115',
        '116',
        '117',
        '118',
        '119',
        '120',
        '121',
        '122',
        '123',
        '124',
        '125',
        '126',
        '127',
        '128',
        '129',
        '130',
        '131',
        '132',
        '133',
        '134',
        '135',
        '136',
        '137',
        '138',
        '139',
        '140',
        '141',
        '142',
        '143',
        '144',
        '145',
        '146',
        '147',
        '148',
        '149',
        '150',
        '151',
        '152',
        '153',
        '154',
        '155',
        '156',
        '157',
        '158',
        '159',
        '160',
        '161',
        '162',
        '163',
        '164',
        '165',
        '166',
        '167',
        '168',
        '169',
        '170',
        '171',
        '172',
        '173',
        '174',
        '175',
        '176',
        '177',
        '178',
        '179',
        '180',
        '181',
        '182',
        '183',
        '184',
        '185',
        '186',
        '187',
        '188',
        '189',
        '190',
        '191',
        '192',
        '193',
        '194',
        '195',
        '196',
        '197',
        '198',
        '199',
        '200',
        '201',
        '202',
        '203',
        '204',
        '205',
        '206',
        '207',
        '208',
        '209',
        '210',
        '211',
        '212',
        '213',
        '214',
        '215',
        '216',
        '217',
        '219',
        '220',
        '221',
        '222',
        '223',
        '224',
        '225',
        '226',
        '227',
        '228',
        '229',
        '230',
        '231',
        '232',
        '233',
        '234',
        '235',
        '236',
        '237',
        '238',
        '239',
        '240',
        '241',
        '242',
        '243',
        '244',
        '245',
        '246',
        '247',
        '248',
        '249',
        '250',
        '251',
        '252',
        '253',
        '254',
        '255',
        '256',
        '257',
        '258',
        '259',
        '260',
        '261',
        '262',
        '263',
        '264',
        '265',
        '901',
        '902',
        '903',
        '904',
        '905',
        '906',
        '907',
        '908'
        ]
archivo_zip = zipfile.ZipFile('sigpac_navarra.zip', 'w') #creamos y abrimos el archivo *.zip
# crear el bucle desde 0 a la longitud de la lista -1
for i in range(0,len(lista_cod_muni)-1):


        url = 'http://sigpac.navarra.es/descargas/municipios/SGP2018_Mun'+str(lista_cod_muni[i])+'.zip' #crear la url, introduciendo el valor del elemento de la lista
        wget.download(url) #descaragar la url
        archivo_zip.write('SGP2018_Mun'+str(lista_cod_muni[i])+'.zip') #anadimos el fichero descargado a sigpac_navarra.zip
        os.remove('SGP2018_Mun'+str(lista_cod_muni[i])+'.zip') #borramos el archivo descargado para que no ocupe sitio
        
        break #acabamos el bucle a la primera para las pruebas
archivo_zip.close() #cerramos el archivo sigpac_navarra.zip