taller-web-scraping-hirikilabs:descarga_sigpac_navarra
                Descarga de ficheros municipales del SIGPAC de Navarra
- Comprobar en la página web [http://sigpac.navarra.es/descargas/] la estructura de la URL de descarga.
- 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 ]
- Crear un Array con todos códigos de municipio, para así iterar y poder crear la URL de cada municipio.
- 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.
- Añadir el paquete wget a python para poder descargar directamente los ficheros .zip
- Añadir el paquete zipfile para poder trabajar con los archivos .zip
- Crear un archivo .zip e ir añadiendo los ficheros descargados.
- 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       
taller-web-scraping-hirikilabs/descarga_sigpac_navarra.txt · Última modificación:  por ayesta
                
                