#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# aire.py
#
# Copyright 2010 Javier Rovegno Campos <tatadeluxe<at>gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
"""
Script para saber calida del aire Santiago de Chile
Necesita tener instalado python-beautifulsoup
"""
import urllib
from BeautifulSoup import BeautifulSoup
def main():
url = "http://www.seremisaludrm.cl/sitio/pag/aire/indexjs3aireindices-prueba.asp"
sock = urllib.urlopen(url)
htmlSource = sock.read()
sock.close()
source = htmlSource[6644:12988] # Tabla con informacion
soup = BeautifulSoup(source)
soup_data = soup.findAll('span')
column = 3
i = 0
row = ''
for element in soup_data:
try:
data = element.contents[0]
except:
pass
if i == column:
row += data+'\n'
print '%s'%(row)
i = 0
row = ''
else:
row += data+'\t'
i += 1
if __name__ == '__main__':
import doctest
doctest.testmod()
main()
Diff to Previous Revision
--- revision 2 2010-08-30 13:53:11
+++ revision 3 2010-09-25 20:04:23
@@ -36,13 +36,23 @@
source = htmlSource[6644:12988] # Tabla con informacion
soup = BeautifulSoup(source)
soup_data = soup.findAll('span')
+ column = 3
+ i = 0
+ row = ''
for element in soup_data:
try:
data = element.contents[0]
except:
pass
- print u'%s'%(data)
-
+ if i == column:
+ row += data+'\n'
+ print '%s'%(row)
+ i = 0
+ row = ''
+ else:
+ row += data+'\t'
+ i += 1
+
if __name__ == '__main__':
import doctest
doctest.testmod()