PageRenderTime 98ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/ParseHtmlfromFile.py

https://github.com/PuercoPop/EleccionesPeru
Python | 85 lines | 77 code | 2 blank | 6 comment | 0 complexity | aa0b19f84148caa3949dd7ee85f9c078 MD5 | raw file
  1. #!/usr/bin/python2.7
  2. # -*- coding: utf-8
  3. from BeautifulSoup import BeautifulSoup
  4. import pdb
  5. #f_handle = open('test.html','r')
  6. f_handle = open('tmp2.html','r')
  7. """
  8. Dentro de una tabla de align center esta la información de ubigeo
  9. Dentro de la tabla de clase "borde_tabla" estan los resultados.
  10. De los tr heigh="40" en el span dentro del td align left esta el nombre de la organización
  11. Del 2do td align=center dentro del span de class arial_contenido esta el número
  12. """
  13. soup = BeautifulSoup( f_handle )
  14. a = soup.findAll('tr',height="40")
  15. Organ = [u'GANA PERU',u'DESPERTAR NACIONAL', u'FUERZA 2011', u'PERU POSIBLE', u'ALIANZA SOLIDARIDAD NACIONAL', u'ALIANZA POR EL GRAN CAMBIO', u'ADELANTE', u'JUSTICIA, TECNOLOGIA, ECOLOGIA', u'FONAVISTAS DEL PERU', u'FUERZA NACIONAL', u'PARTIDO DESCENTRALISTA FUERZA SOCIAL', u'Votos Blancos', u'Votos Nulos', u'Votos Impugnados']
  16. T_Flag = False
  17. for item in soup.findAll('tr'):
  18. for item2 in BeautifulSoup(str(item)).findAll('span',{'class':'arial_contenido_negrita'}):
  19. if T_Flag == True:
  20. if item2.contents == []:
  21. votacion = 0
  22. else:
  23. votacion = int(item2.contents[0])
  24. print curr_Organ , ':' , votacion
  25. T_Flag = False
  26. if not(item2.contents == []):
  27. if item2.contents[0] in Organ:
  28. T_Flag = True
  29. curr_Organ = item2.contents[0]
  30. for item2 in BeautifulSoup(str(item)).findAll('span',{'class':'arial_contenido'}):
  31. if T_Flag == True:
  32. if item2.contents == []:
  33. votacion = 0
  34. else:
  35. votacion = int(item2.contents[0])
  36. print curr_Organ , ':' , votacion
  37. T_Flag = False
  38. if not(item2.contents == []):
  39. if item2.contents[0] in Organ:
  40. T_Flag = True
  41. curr_Organ = item2.contents[0]
  42. print '------------'
  43. Categorias = [ u'Departamento:', u'Provincia:', u'Distrito:', u'Local de Votación: ', u'Dirección: ', u'Electores Hábiles: ', u'Total de Ciudadanos que Votaron: '] #, u'Estado del acta: ', u'Historial del acta: ']
  44. Printable_Categorias = []
  45. T_Flag = False
  46. tmp_soup = BeautifulSoup( str( soup.findAll('table',{'align':'center', 'border':'0'})[0] ) )
  47. for item in tmp_soup.findAll('td',{'class':'arial_contenido'}):
  48. if not(item.contents[0] == u' '):
  49. if T_Flag == True:
  50. print curr_Categoria,':',item.contents[0]
  51. T_Flag = False
  52. if item.contents[0] in Categorias:
  53. T_Flag = True
  54. curr_Categoria = item.contents[0]
  55. print '-------------'
  56. for item in tmp_soup.findAll('td',{'class':'arial_contenido_negrita'}):
  57. if not(item.contents[0] == u' '):
  58. pass
  59. #print item.contents
  60. for item in tmp_soup.findAll('td',{'class':'arial_titulo'}):
  61. if not(item.contents[0] == u' '):
  62. pass
  63. #print item.contents
  64. #b = BeautifulSoup.BeautifulSoup(str(a))
  65. #c = BeautifulSoup.BeautifulSoup( str( b.find('td',align="left" ) ) )
  66. #print b.find('td',align="left")
  67. #pdb.set_trace()
  68. #print soup.prettify()