In [2]:
import os
import re
from bs4 import BeautifulSoup

ext_html = re.compile("^.*\.html$")

res = [ data for data in os.listdir(".") if ext_html.match(data) ]

#admitidos_file = open('RMT.html')
admitidos_file = open("RHT-2015.html")
admitidos_content = admitidos_file.read()
admitidos_file.close()

admitidos_soup = BeautifulSoup(admitidos_content, "html.parser")

# Obtener los nombres de las carreras o preparatorias
# print(admitidos_soup.prettify())
titles = admitidos_soup.find_all("h2")
if len(titles) > 1: 
  try:
    print(titles[1].small.contents[0].strip())
  except AttributeError:
    print(titles[0].u.contents[0])
else:
  print(titles[0].u.contents[0])


INGENIERIA AGROHIDRAULICA (TECAMACHALCO)

In [92]:
results_dict = {}
prepas_re = re.compile("PREPARATORIA|PREP")

for results in res:
    with open(results) as r:
        res_soup = BeautifulSoup(r.read(), "html.parser")
        
        titles = res_soup.find_all("h2")
        name = ""
        try:
            name = titles[1].small.contents[0].strip()
        except (AttributeError, IndexError):
            name = titles[0].u.contents[0]
        
        results_dict[name] = {"filename": results}
        
        if prepas_re.search(name) != None:
            results_dict[name]["nivel"] = "preparatoria"
        else:
            results_dict[name]["nivel"] = "universidad"

In [128]:
def get_section_center(html_soup, *args):
    get_section = args[3]
    section = []
    tmp = [i for i in args]
    center = html_soup.find_all("center")
    capture = False
    for c in center:
        # print c.contents
        if c.contents[0].name == "b" and c.contents[0].contents[0] == get_section:
            capture = True
            continue
        elif c.contents[0].name == "b":
            capture = False
        
        if capture and matricula.search(c.contents[0].strip()):
            section.append([int(c.contents[0])] + tmp)
        else:
            capture = False
    
    return section

In [132]:
import os
import re
from bs4 import BeautifulSoup

cupo_re = re.compile("Cupo")
matricula = re.compile("2015[0-9]{5}")
prepas_re = re.compile("PREPARATORIA|PREP|BACHILLERATO|URBANAS")
aceptados_re = re.compile("LISTA DE CANDIDATOS A INSCRIPCION|HIJOS DE TRABAJADORES BUAP")
no_aceptados_re = re.compile("LISTA DE NO ACEPTADOS")

# Segunda opción para obtener lista de datos
index_source = open('index.html')
index_soup = BeautifulSoup(index_source.read())
index_source.close()

# universidades = [{"type": "universidad", "name": uni.contents[0]} for uni in index_soup.select("a[onclick]")]
all = []
for section in index_soup.select("ul")[1:]:
    section_name = section.find("h3").contents[0]
    # print("## " + section_name)
    # Obtiene las secciones, las carreras y los archivos asociados a cada uno
    for p in section.find_all("a"):
        # print(p.contents)
        file_name = ""
        
        if p["href"] != "javascript:void(0)":
            file_name = p["href"]
            file_name = file_name[len("publicacion") + 1:]
        else:
            file_name = p.attrs['onclick'].split("'")[1]
            file_name = file_name[len("publicacion") + 1:]
        
        file_name_tmp = open(file_name)
        content_soup = BeautifulSoup(file_name_tmp.read(), "html.parser")
        file_name_tmp.close()
        
        print(p.contents[0] + "," + file_name + "," + section_name)
            
        # obtener los cupos
        cupos = content_soup.find_all("h1")
        if  cupos != []:
            for i in cupos:
                if cupo_re.search(i.contents[0]):
                    print(i.contents[0].strip().replace("Cupo: ", ""))
        else:
            for cupo in content_soup.find_all("td"):
                if cupo_re.search(cupo.contents[0]) != None:
                    print(cupo.contents[0].strip().replace("Cupo: ", ""))
        
        if len(content_soup.find_all("table")) > 0 and prepas_re.search(p.contents[0]) == None and p.contents[0] != 'TECNICO EN MUSICA':
            status = ["no aceptado", "aceptado"]
            meritos = get_section_center(content_soup, "", "", "", "DISTINCION AL MERITO ACADEMICO",'aceptado', p.contents[0], section_name, file_name)
            all = all + meritos
            # print meritos
            hijos_trabajador_buap = get_section_center(content_soup, "", "", "", "HIJOS DE TRABAJADORES BUAP", 'aceptado', p.contents[0], section_name, file_name)
            all = all + hijos_trabajador_buap
            # print hijos_trabajador_buap
            for table in content_soup.find_all("table"):
                for row in table.find_all("tr"):
                    data = []
                    for cell in row.find_all("td"):
                        try:
                            data.append(int(cell.contents[0]))
                        except:
                            # print(cell.contents[0])
                            continue
                            
                    if len(data) > 0:
                        if status[-1] == "aceptado":
                            data.append("LISTA DE CANDIDATOS A INSCRIPCION")
                        else:
                            data.append("LISTA DE NO ACEPTADOS")
                        data.append(status[-1])
                        data.append(p.contents[0])
                        data.append(section_name)
                        data.append(file_name)
                        all.append(data)
                status.pop()
                
        else:
            print file_name
            print len(content_soup.find_all("table"))
            table = content_soup.find_all("table")[0]
            status = "aceptado"
            lugar = None # para obtener las prepas urbanas
            context = ""
            
            for row in table.find_all("tr"):
                data = []
                for cell in row.find_all("td"):
                    if aceptados_re.search(cell.contents[0]):
                        status = "aceptado"
                        context = cell.contents[0]
                        continue
                    elif no_aceptados_re.search(cell.contents[0]):
                        status = "no aceptado"
                        lugar = None
                        context = cell.contents[0]
                        continue

                    prepa_posible = cell.find("small")
                    if prepa_posible != None:
                        lugar = prepa_posible.contents[0]
                        print lugar
                        continue
                    try:
                        data.append(int(cell.contents[0]))
                    except:
                        #print prepa_posible
                        # print(cell.contents[0])
                        continue
                
                if len(data) == 1:
                    data.append("")
                if len(data) > 0:
                    data.append(context.strip())
                    data.append(status)
                    if lugar != "PREPARATORIAS URBANAS" and lugar != None and file_name == "prepUrbanas.html":
                        data.append(lugar)
                    else:
                        data.append(p.contents[0])

                    data.append(section_name)
                    data.append(file_name)
                    all.append(data)
                    

                   
print(len(all))
all[255]


 BACHILLERATO 5 DE MAYO,BCM.html,PREPARATORIAS
90
BCM.html
1
 URBANAS (CIUDAD DE PUEBLA),prepUrbanas.html,PREPARATORIAS
750
810
350
640
440
280
Cupo:
prepUrbanas.html
1
PREP. 2 DE OCTUBRE DE 1968
PREP. ALFONSO CALDERON MORENO
PREP. EMILIANO ZAPATA
PREP. LIC. BENITO JUAREZ GARCIA
PREP. URB ENRIQUE CABRERA B.
PREP.GRAL. LAZARO CARDENAS
PREPARATORIAS URBANAS
PREPARATORIA REGIONAL ACAJETE,RPA.html,PREPARATORIAS
90
RPA.html
1
PREPARATORIA REGIONAL  CD. SERDAN,RCS.html,PREPARATORIAS
120
RCS.html
1
PREPARATORIA REGIONAL CHIAUTLA DE TAPIA,RPC.html,PREPARATORIAS
60
RPC.html
1
PREPARATORIA REGIONAL CUETZALAN,RCU.html,PREPARATORIAS
140
RCU.html
1
PREPARATORIA REGIONAL  IZUCAR DE MATAMOROS,RIM.html,PREPARATORIAS
105
RIM.html
1
PREPARATORIA REGIONAL  LIBRES,RPL.html,PREPARATORIAS
250
RPL.html
1
PREPARATORIA REGIONAL SIMON BOLIVAR ATLIXCO,RSB.html,PREPARATORIAS
560
RSB.html
1
PREPARATORIA REGIONAL SAN MARTIN TEXMELUCAN,RMT.html,PREPARATORIAS
90
RMT.html
1
PREPARATORIA REGIONAL  TEPEACA,RPT.html,PREPARATORIAS
160
RPT.html
1
PREPARATORIA REGIONAL  ENRIQUE CABRERA BARROSO  (TECAMACHALCO),REC.html,PREPARATORIAS
450
REC.html
1
PREPARATORIA REGIONAL TEZIUTLAN,RTZ.html,PREPARATORIAS
90
RTZ.html
1
PREPARATORIA REGIONAL ZACATLAN,RPN.html,PREPARATORIAS
120
RPN.html
1
TECNICO EN MUSICA,TMU.html,CARRERA TÉCNICA
300
TMU.html
1
PROFESIONAL ASOCIADO EN IMAGENOLOGIA,PAI-2009.html,PROFESIONAL ASOCIADO
40
PROFESIONAL ASOCIADO EN IMAGENOLOGIA TEHUACAN,RTI-2015.html,PROFESIONAL ASOCIADO
30
PROFESIONAL ASOCIADO EN IMAGENOLOGIA TEZIUTLAN,RIZ-2015.html,PROFESIONAL ASOCIADO
30
ADMINISTRACION DE EMPRESAS SEMIESCOLARIZADA,SLAE-2009.html,LICENCIATURAS MODALIDAD SEMIESCOLARIZADA
300
COMUNICACION SEMIESCOLARIZADA,SLCM-2009.html,LICENCIATURAS MODALIDAD SEMIESCOLARIZADA
50
CONTADURIA PUBLICA SEMIESCOLARIZADA,SLCP-2009.html,LICENCIATURAS MODALIDAD SEMIESCOLARIZADA
80
DERECHO SEMIESCOLARIZADA,SLDE-2009.html,LICENCIATURAS MODALIDAD SEMIESCOLARIZADA
100
READAPTACION Y ACTIVACION FISICA SEMIESCOLARIZADA,SRAF-2014.html,LICENCIATURAS MODALIDAD SEMIESCOLARIZADA
40
ADMINISTRACION DE EMPRESAS A DISTANCIA,DLAE-2011.html,LICENCIATURAS MODALIDAD A DISTANCIA
300
COMUNICACION A DISTANCIA,DLCM-2011.html,LICENCIATURAS MODALIDAD A DISTANCIA
50
CONTADURIA PUBLICA A DISTANCIA,DLCP-2011.html,LICENCIATURAS MODALIDAD A DISTANCIA
300
DERECHO A DISTANCIA,DLDE-2011.html,LICENCIATURAS MODALIDAD A DISTANCIA
200
MERCADOTECNIA Y MEDIOS DIGITALES DISTANCIA,DLMD-2014.html,LICENCIATURAS MODALIDAD A DISTANCIA
100
NEGOCIOS INTERNACIONALES DISTANCIA,DLNI-2014.html,LICENCIATURAS MODALIDAD A DISTANCIA
100
ADMINISTRACION Y DIRECCION DE PYMES DISTANCIA,DPYM-2014.html,LICENCIATURAS MODALIDAD A DISTANCIA
300
ADMINISTRACION DE EMPRESAS,LAE-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
300
ADMINISTRACION PUBLICA Y CIENCIAS POLITICAS,ACP-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
150
ADMINISTRACION TURISTICA,LAT-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
300
ADMINISTRACION Y DIRECCION DE PYMES,PYM-2015.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
100
COMERCIO INTERNACIONAL,LCI-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
300
CONTADURIA PUBLICA,LCP-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
715
DIRECCION FINANCIERA,LDF-2015.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
40
ECONOMIA,LEC-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
180
FINANZAS,LFI-2009.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
90
GASTRONOMIA,LGA-2010.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
120
MERCADOTECNIA Y MEDIOS DIGITALES,LMD-2015.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
80
NEGOCIOS INTERNACIONALES,LNI-2015.html,AREA DE CIENCIAS ECONOMICO ADMINISTRATIVAS
100
ACTUARIA,ACT-2010.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
90
ARQUITECTURA,ARQ-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
460
CIENCIAS DE LA COMPUTACION,CCO-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
150
DISEÑO GRAFICO,DSG-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
225
ELECTRONICA,LCE-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
120
FISICA,FIS-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
90
FISICA APLICADA,LFA-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
60
INGENIERIA AMBIENTAL,IAM-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
135
INGENIERIA CIVIL,ICV-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
225
INGENIERIA EN ALIMENTOS,IAL-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
135
INGENIERIA EN CIENCIAS DE LA COMPUTACION,ICC-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
450
INGENIERIA EN ENERGIAS RENOVABLES,IER-2013.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
90
INGENIERIA EN MATERIALES,LIA-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
45
INGENIERIA EN MECATRONICA,LIM-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
210
INGENIERIA EN SISTEMAS AUTOMOTRICES,ISA-2013.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
120
INGENIERIA EN TECNOLOGIAS DE LA INFORMACION,ITI-2012.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
150
INGENIERIA GEOFISICA,IGF-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
50
INGENIERIA INDUSTRIAL,IID-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
225
INGENIERIA MECANICA Y ELECTRICA,IME-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
225
INGENIERIA QUIMICA,IQU-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
135
INGENIERIA TEXTIL,ITX-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
25
INGENIERIA TOPOGRAFICA Y GEODESICA,ITG-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
50
MATEMATICAS,MAT-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
80
MATEMATICAS APLICADAS,LMA-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
60
URBANISMO Y DISEÑO AMBIENTAL,LUR-2009.html,AREA DE INGENIERIA Y CIENCIAS EXACTAS
120
ANTROPOLOGIA SOCIAL,ANT-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
70
ARTE DIGITAL,ADI-2013.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
50
ARTE DRAMATICO,LAD-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
50
ARTES PLASTICAS,APL-2013.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
50
CIENCIAS POLITICAS,LPO-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
200
CINEMATOGRAFIA,CIN-2013.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
50
COMUNICACION,LCM-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
280
CONSULTORIA JURIDICA,LCJ-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
60
CRIMINOLOGIA,LCR-2010.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
250
CULTURA FISICA,LEF-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
220
DANZA,LDA-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
60
DERECHO,LDE-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
600
ENSEÑANZA DEL FRANCES,EFR-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
100
ENSEÑANZA DEL INGLES,EIN-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
420
ETNOCOREOLOGIA,LET-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
50
FILOSOFIA Y LETRAS,FIL-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
70
HISTORIA,HIS-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
90
LINGÜISTICA Y LITERATURA HISPANICA,LLH-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
90
MUSICA,LMU-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
60
PROCESOS EDUCATIVOS,LED-2010.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
40
PSICOLOGIA,PSI-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
450
RELACIONES INTERNACIONALES,LRI-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
175
SOCIOLOGIA,LSO-2009.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
70
READAPTACION Y ACTIVACION FISICA,RAF-2015.html,AREA DE CIENCIAS SOCIALES Y HUMANIDADES
60
BIOLOGIA,BIO-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
240
BIOMEDICINA,LBM-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
40
BIOTECNOLOGIA,LBT-2013.html,AREA DE CIENCIAS NATURALES Y SALUD
80
ENFERMERIA,ENF-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
160
ESTOMATOLOGIA,ETM-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
405
FARMACIA,FAR-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
45
FISIOTERAPIA,LFT-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
120
INGENIERIA AGROHIDRAULICA (TEZIUTLAN)(AGRONOMO GENERAL),IAH-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
100
INGENIERIA AGRONOMO ZOOTECNISTA (TLATLAUQUITEPEC),IAZ-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
100
MEDICINA,MED-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
700
NUTRICION CLINICA,LNC-2010.html,AREA DE CIENCIAS NATURALES Y SALUD
90
QUIMICA,QUI-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
45
QUIMICO FARMACOBIOLOGO,QFB-2009.html,AREA DE CIENCIAS NATURALES Y SALUD
285
ADMINISTRACION DE EMPRESAS (ACATZINGO),RAA-2009.html,UNIDAD REGIONAL ACATZINGO
100
ADMINISTRACION TURISTICA (ATLIXCO),RXT-2014.html,UNIDAD REGIONAL ATLIXCO
50
CONTADURIA PUBLICA (ATLIXCO),RXC-2009.html,UNIDAD REGIONAL ATLIXCO
50
ADMINISTRACION DE EMPRESAS (CHIAUTLA DE TAPIA),RHE-2009.html,UNIDAD REGIONAL CHIAUTLA DE TAPIA
50
ADMINISTRACION DE EMPRESAS (CHIGNAHUAPAN),RAE-2009.html,UNIDAD REGIONAL CHIGNAHUAPAN
45
ADMINISTRACION TURISTICA (CHIGNAHUAPAN),RAT-2009.html,UNIDAD REGIONAL CHIGNAHUAPAN
45
DERECHO (CHIGNAHUAPAN),RCD-2009.html,UNIDAD REGIONAL CHIGNAHUAPAN
50
INGENIERIA AGROINDUSTRIAL,RIT-2015.html,CENTRO UNIVERSITARIO DE CIENCIAS AGROPECUARIAS TECAMACHALCO
45
INGENIERIA AGROHIDRAULICA,RHT-2015.html,CENTRO UNIVERSITARIO DE CIENCIAS AGROPECUARIAS TECAMACHALCO
50
INGENIERIA AGRONOMO ZOOTECNISTA,RGT-2015.html,CENTRO UNIVERSITARIO DE CIENCIAS AGROPECUARIAS TECAMACHALCO
50
MEDICINA VETERINARIA Y ZOOTECNIA,MVZ-2009.html,CENTRO UNIVERSITARIO DE CIENCIAS AGROPECUARIAS TECAMACHALCO
260
ENFERMERIA,REZ-2014.html,COMPLEJO UNIVERSITARIO DE LA SALUD TEZIUTLAN
75
ESTOMATOLOGIA,RST-2014.html,COMPLEJO UNIVERSITARIO DE LA SALUD TEZIUTLAN
90
FISIOTERAPIA,RFT-2014.html,COMPLEJO UNIVERSITARIO DE LA SALUD TEZIUTLAN
30
MEDICINA FAMILIAR Y COMUNITARIA,MFC-2014.html,COMPLEJO UNIVERSITARIO DE LA SALUD TEZIUTLAN
90
NUTRICION CLINICA,RNT-2014.html,COMPLEJO UNIVERSITARIO DE LA SALUD TEZIUTLAN
90
PSICOLOGIA,RTS-2014.html,COMPLEJO UNIVERSITARIO DE LA SALUD TEZIUTLAN
90
ADMINISTRACION DE EMPRESAS(CUETZALAN),RCE-2014.html,UNIDAD REGIONAL CUETZALAN
30
ARQUITECTURA (HUAUCHINANGO),RQH-2015.html,UNIDAD REGIONAL HUAUCHINANGO
80
DERECHO (HUAUCHINANGO),RDH.html,UNIDAD REGIONAL HUAUCHINANGO
50
ADMINISTRACION DE EMPRESAS (LIBRES),RLA-2009.html,UNIDAD REGIONAL LIBRES
50
CONTADURIA PUBLICA (LIBRES),RLC-2009.html,UNIDAD REGIONAL LIBRES
50
DERECHO (LIBRES),RLD-2015.html,UNIDAD REGIONAL LIBRES
100
ADMINISTRACION DE EMPRESAS (TEHUACAN),RTA-2009.html,UNIDAD REGIONAL TEHUACAN
80
ARQUITECTURA (TEHUACAN),RTQ-2009.html,UNIDAD REGIONAL TEHUACAN
70
CIENCIAS POLITICAS (TEHUACAN),RTP-2010.html,UNIDAD REGIONAL TEHUACAN
50
COMUNICACION (TEHUACAN),RTC-2015.html,UNIDAD REGIONAL TEHUACAN
40
DERECHO (TEHUACAN),RTD-2009.html,UNIDAD REGIONAL TEHUACAN
160
DISEÑO GRAFICO (TEHUACAN),RTG-2009.html,UNIDAD REGIONAL TEHUACAN
70
ESTOMATOLOGIA (TEHUACAN),RET-2009.html,UNIDAD REGIONAL TEHUACAN
80
MEDICINA (TEHUACAN),RME-2009.html,UNIDAD REGIONAL TEHUACAN
120
NUTRICION CLINICA (TEHUACAN),RTN-2015.html,UNIDAD REGIONAL TEHUACAN
30
READAPTACION Y ACTIVACION FISICA (TEHUACAN),RTR-2015.html,UNIDAD REGIONAL TEHUACAN
30
ENFERMERIA (TETELA DE OCAMPO),REE-2009.html,UNIDAD REGIONAL TETELA DE OCAMPO
30
INGENIERIA AGROFORESTAL (TETELA DE OCAMPO),IAF-2009.html,UNIDAD REGIONAL TETELA DE OCAMPO
100
CONTADURIA PUBLICA (ZACAPOAXTLA),RZC-2009.html,UNIDAD REGIONAL ZACAPOAXTLA
50
45779
Out[132]:
[201510391,
 773,
 u'LISTA DE CANDIDATOS A INSCRIPCION',
 'aceptado',
 u'PREP. 2 DE OCTUBRE DE 1968',
 u'PREPARATORIAS',
 u'prepUrbanas.html']

In [133]:
print all[23000]
prepas_tecnico = []

for i in all:
    if i[0] == 201525020:
        print len(i)
        
for i in all:
    if len(i) == 7 and i[5] != "PREPARATORIAS":
        prepas_tecnico.append(i)
        
print len(prepas_tecnico)
print prepas_tecnico[0]
print prepas_tecnico[6]
print prepas_tecnico[-35]


[201518919, '', '', '', 'DISTINCION AL MERITO ACADEMICO', 'aceptado', u'INGENIERIA EN MECATRONICA', u'AREA DE INGENIERIA Y CIENCIAS EXACTAS', u'LIM-2009.html']
7
335
[201506120, '', u'HIJOS DE TRABAJADORES BUAP', 'aceptado', u'TECNICO EN MUSICA', u'CARRERA T\xc9CNICA', u'TMU.html']
[201500808, 940, u'LISTA DE CANDIDATOS A INSCRIPCION', 'aceptado', u'TECNICO EN MUSICA', u'CARRERA T\xc9CNICA', u'TMU.html']
[201522945, 617, u'LISTA DE NO ACEPTADOS', 'no aceptado', u'TECNICO EN MUSICA', u'CARRERA T\xc9CNICA', u'TMU.html']

In [8]:
from bs4 import BeautifulSoup
urbanas = open("prepUrbanas.html")
urbanas_soup = BeautifulSoup(urbanas.read())
urbanas.close()

table = urbanas_soup.find_all("table")[0]
# print (table.contents)
for row in table.contents:
    if row.name == "tr":
        for cell in row.contents:
            if cell.name == "td":
                for content in cell.contents:
                    if content.name == "h2":
                        print content.contents


[<small>PREP. 2 DE OCTUBRE DE 1968</small>]
[<small>PREP. ALFONSO CALDERON MORENO</small>]
[<small>PREP. EMILIANO ZAPATA</small>]
[<small>PREP. LIC. BENITO JUAREZ GARCIA</small>]
[<small>PREP. URB ENRIQUE CABRERA B.</small>]
[<small>PREP.GRAL. LAZARO CARDENAS</small>]
[<small>PREPARATORIAS URBANAS</small>]

In [107]:
from bs4 import BeautifulSoup
import re

matricula = re.compile("2015[0-9]{5}")

fisio = open('LFT-2009.html')
fisio_soup = BeautifulSoup(fisio.read())
fisio.close()

center = fisio_soup.find_all("center")
capture = False
for c in center:
    # print c.contents
    if c.contents[0].name == "b" and c.contents[0].contents[0] == "DISTINCION AL MERITO ACADEMICO":
        capture = True
        continue
    elif c.contents[0].name == "b":
        capture = False
        
    if capture and matricula.search(c.contents[0].strip()):
        print c.contents
    else:
        capture = False


[u'201500651']
[u'201504438']
[u'201506148']
[u'201519874']
[u'201521968']
[u'201526920']
[u'201528668']
[u'201536353']
[u'201542005']
[u'201545435']
[u'201546261']
[u'201547810']
[u'201549764']
[u'201551880']
[u'201552434']

In [139]:
for student in all:
    if student[0] in [201500046, 201562829, 201556208, 201502986, 201533135, 201500248, 201559364, 201509402]:
        print student


[201502986, '', u'HIJOS DE TRABAJADORES BUAP', 'aceptado', u'PREP. 2 DE OCTUBRE DE 1968', u'PREPARATORIAS', u'prepUrbanas.html']
[201533135, '', u'HIJOS DE TRABAJADORES BUAP', 'aceptado', u'PREP. 2 DE OCTUBRE DE 1968', u'PREPARATORIAS', u'prepUrbanas.html']
[201500248, 834, u'LISTA DE CANDIDATOS A INSCRIPCION', 'aceptado', u'PREP. 2 DE OCTUBRE DE 1968', u'PREPARATORIAS', u'prepUrbanas.html']
[201559364, 753, u'LISTA DE CANDIDATOS A INSCRIPCION', 'aceptado', u'PREP. 2 DE OCTUBRE DE 1968', u'PREPARATORIAS', u'prepUrbanas.html']
[201509402, '', u'HIJOS DE TRABAJADORES BUAP', 'aceptado', u'PREP. ALFONSO CALDERON MORENO', u'PREPARATORIAS', u'prepUrbanas.html']
[201562829, '', '', '', 'HIJOS DE TRABAJADORES BUAP', 'aceptado', u'DISE\xd1O GRAFICO (TEHUACAN)', u'UNIDAD REGIONAL TEHUACAN', u'RTG-2009.html']
[201500046, 799, 871, 835, 'LISTA DE CANDIDATOS A INSCRIPCION', 'aceptado', u'DISE\xd1O GRAFICO (TEHUACAN)', u'UNIDAD REGIONAL TEHUACAN', u'RTG-2009.html']
[201556208, 607, 495, 551, 'LISTA DE NO ACEPTADOS', 'no aceptado', u'DISE\xd1O GRAFICO (TEHUACAN)', u'UNIDAD REGIONAL TEHUACAN', u'RTG-2009.html']