def descargarCategoriaEspecifica22(URLLL, resultados):
    indice = 1
    nuevos = 1
    while (nuevos > 0):
        nuevos = 0

        print(URLLL + '?Page=' + str(indice))
        resultado = descargarResultado(URLLL + '?Page=' + str(indice), 360, 10)

        #resultado = BeautifulSoup(resultado, 'html.parser');

        try:
            resultado = resultado.find_all(class_='figuration')
        except:
            resultado = []
#			print(cat.strip() + ' ---> Vacia');

#		if (resultado):
#			print(FILENOMBRE);

        for nego in resultado:
            nuevos = nuevos + 1

            titulo = nego.find_all(
                class_='titleFig')[0].find_all('a')[0].text.replace(";", "")

            try:
                email = nego.prettify().split('data-email="')[1].split(
                    '" data-home')[0].replace(";", "")
            except:
                email = ''

            try:
                telefono = nego.find_all(
                    class_='infoContact')[0].find_all('span')[0].text.replace(
                        ";", "")
            except:
                telefono = ''

            try:
                direccion = nego.find_all(
                    class_='infoContact')[0].find_all('div')[0].text.replace(
                        ";", "")
            except:
                direccion = ''

            try:
                categoria = nego.find_all(class_='seoSearch')[0].text.replace(
                    ";", "")
            except:
                categoria = ''

            result = '"' + titulo + '";"' + email + '";"' + telefono + '";"' + direccion + '";"' + categoria + '"'
            #print(result );

            if (result.strip() not in resultados):
                resultados.append(result.strip())

        indice = indice + 1
    return
예제 #2
0
def descargarCategorias():

    LETRAS = [
        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
        'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
    ]

    for letra in LETRAS:

        indice = 1
        nuevos = 1
        while (nuevos > 0):
            nuevos = 0

            pagina = descargarResultado(
                'http://www.paginasamarillas.com.co/listado-de-secciones/' +
                letra + '/' + str(indice), 360, 10)

            if (pagina):
                pagina = pagina.find_all(class_='companyList')[0].find_all('a')
                indice = indice + 1

                for aa in pagina:
                    categoryLinks.append(aa['href'])
                    nuevos = nuevos + 1

    saveFile('categoryLinks.txt', categoryLinks)
    return
def descargarCategoriaEspecifica22(URLLL, resultados):
	resultado = descargarResultado("/producto/" +  URLLL , 360, 10);


	try: 
		codigo = URLLL
	except:
		codigo = ''

	try: 
		nombre = resultado.split('<h2 class="with-tabs">')[1].split('</h2>')[0].replace("\\t",'').strip()
	except:
		nombre = ''
	
	try:	
		categoria = resultado.split('<b>Categor')[1].split('</div>')[0].split('</b>')[1].replace("\\t",'').replace("\\n",'').strip()
	except:
		categoria = ''

	try:	
		costo = resultado.split('class="uc-price">')[2].split('<')[0].replace("\\t",'').strip()
	except:
		costo = ''

	try:
		fotos = 'http://www.radec.com.mx/sites/all/files/productos/' + codigo + '.jpg';
	except:
		fotos = ''

	val = 0;

	nombre2 = nombre

	try:
		for car in resultado.split("/sites/all/themes/radec/images/car_icon.gif"):


			marca = ''
			marca_auto = ''
			modelo = ''
			anio = ''
			notas = ''

			if (val == 0):
				val = 1;
			else:
				try:
					marca_auto = car.split('<')[0].split('>')[1].replace("\\t",'').split('\\n')[2].strip()
				except:
					marca_auto = ''


				try:
					marca = ''

					if (' TYC ' in nombre):
						marca = 'TYC'
					
					if ( ' DEPO ' in nombre):
						marca = 'DEPO' 
				except:
					marca = ''

				try:				
					modelo = car.split('<')[0].split('>')[1].replace("\\t",'').split('\\n')[3].strip()
				except:
					modelo = ''



				anio = car.split('<')[0].split('>')[1].replace("\\t",'').split('\\n')[5].strip()


				if (anio != 'ALL YEARS'):
					anioOrigin2 = '#'+anio;
					anioOrigin = anioOrigin2.replace('#20','').replace('#19','').replace('-20','-').replace('-19','-')
					anioList = [];
	

					if ('-' in anio):
						
						anioInicio = int(anio.split('-')[0])
						anioFin = int(anio.split('-')[1] )

						while (anioInicio <= anioFin):
							anioList.append(str(anioInicio))
							anioInicio = anioInicio + 1;
	
						anio = ' '.join(anioList) + ' '
					
				
					if (len(anioList) < 5):
						nombre = nombre.replace(anioOrigin,anio);
					else:
						nombre = nombre.replace(anioOrigin,anioOrigin2.replace('#','').replace('-',' a '));

		

				try:	
					notas = resultado.split('<b>Aplicaciones:</b>')[1].split('</div>')[0].replace("\\t",'').replace("\\n",'').replace('<br/>',' - ')

					notas = BeautifulSoup(notas, 'html.parser').text;

					while ("  " in notas):
						notas = notas.replace('  ',' ');

					if (notas.startswith(' - ')):
						notas = notas.replace(" - ", "", 1)

					if (notas.endswith(' - ')):
						notas = rreplace(notas," - ", "", 1);

				except:
					notas = ''



				nombre= nombre.replace(' FD ', ' FORD ').replace(' CV ', ' CHEVROLET ').replace(' TY ', ' TOYOTA ').replace(' AD ', ' AUDI ').replace(' BK ', ' BUICK ').replace(' MC ', ' MERCEDES BENZ ').replace(' ST ', ' SEAT ').replace(' VW ', ' VOLKSWAGEN ').replace(' KI ', ' KIA ').replace(' NS ', ' NISSAN ').replace(' HD ', ' HONDA ').replace(' SN ',' SATURN ').replace(' JP ', ' JEEP ').replace(' AC ', ' ACURA ').replace(' DG ', ' DODGE ').replace(' PT ',' PONTIAC ').replace(' BW ', ' BMW ').replace(' CR ', ' CHRYSLER ').replace(' MT ', ' MITSUBISHI ').replace(' PG ',' PEUGEOT ').replace(' UNIV ', ' UNIVERSAL ').replace(' CR ', ' CHRYSLER ').replace(' MT ', ' MITSUBISHI ').replace(' PG ',' PEUGEOT ')
				nombre= nombre.replace(' JGO ', ' JUEGO ').replace(' CD ', ' CADILLAC ')

		resultados.append('"'+codigo+'","'+nombre +'","'+ marca +'","'+ marca_auto +'","'+ categoria +'","'+costo +'","' + modelo +'","'+ fotos+'","'+ anio +'","'+ notas +'"');
	except Exception as e:
		print('FALLO ---- > ' + URLLL)
		resultados.append('"'+URLLL+'"');
	
	return;