# import libraries
import requests
from bs4 import BeautifulSoup
import csv
from datetime import datetime
# indicar la ruta
url_page = 'http://www.bolsamadrid.es/esp/aspx/Indices/Resumen.aspx'
# tarda 480 milisegundos
page = requests.get(url_page).text
soup = BeautifulSoup(page, "lxml")
# Obtenemos la tabla por un ID específico
tabla = soup.find('table', attrs={'id': 'ctl00_Contenido_tblÍndices'})
tabla
name=""
price=""
nroFila=0
for fila in tabla.find_all("tr"):
if nroFila==1:
nroCelda=0
for celda in fila.find_all('td'):
if nroCelda==0:
name=celda.text
print("Indice:", name)
if nroCelda==2:
price=celda.text
print("Valor:", price)
nroCelda=nroCelda+1
nroFila=nroFila+1
Indice: IBEX 35® Valor: 9.185,20
# Abrimos el csv con append para que pueda agregar contenidos al final del archivo
with open('bolsa_ibex35.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([name, price, datetime.now()])
url_page = 'https://www.marcadores.com/futbol/espana/liga-bbva/?competitionRoundId=486942' # jornada 20
# tarda 1500 milisegundos
page = requests.get(url_page).text
soup = BeautifulSoup(page, "lxml")
# Obtenemos la tabla por un ID específico
tabla = soup.find('table', attrs={'class': 'matches'})
tabla
data = []
equipo1=""
equipo2=""
resultado=""
nroFila=0
for fila in tabla.find_all("tr"):
if nroFila>0:
nroCelda=0
capturar=False
for celda in fila.find_all('td'):
if nroCelda==1 and celda.text=='Fin.':
capturar=True
if capturar and nroCelda==2:
equipo1=celda.text
if capturar and nroCelda==4:
equipo2=celda.text
if capturar and nroCelda==5:
resultado=celda.text
print("Partido:", equipo1,'vs',equipo2,resultado)
data.append((equipo1,equipo2,resultado))
nroCelda=nroCelda+1
nroFila=nroFila+1
Partido: Getafe vs Alavés (1 - 0) Partido: Real Madrid vs Sevilla (0 - 0) Partido: Huesca vs Atlético de Madrid (0 - 1) Partido: Celta vs Valencia (1 - 0) Partido: Betis vs Girona (1 - 2) Partido: Villarreal vs Athletic Bilbao (0 - 1) Partido: Rayo Vallecano vs Real Sociedad (2 - 1) Partido: Levante vs Valladolid (1 - 0) Partido: Barcelona vs Leganés (1 - 0) Partido: Eibar vs Espanyol (1 - 0)
# Abrimos el csv con append para que pueda agregar contenidos al final del archivo
with open('partidos_liga_primera.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
for equipo1, equipo2,resultado in data:
writer.writerow([equipo1, equipo2, resultado,datetime.now()])
#supongamos tenemos el siguiente HTML
pagina_web = "<html>" \
+ "<head></head>" \
+ "<body>" \
+ "<div class='contenedor'>" \
+ "<div id='123' name='bloque_bienvenida' class='verde'>" \
+ "Bienvenido a mi web" \
+ "</div>" \
+ "</div>" \
+ "</body>" \
+ "</html>"
soup = BeautifulSoup(pagina_web, "lxml")
#Obtener por ID:
elTexto = soup.find('div', attrs={'id': '123'}).getText()
print(elTexto)
'Bienvenido a mi web'
#Obtener por Clase CSS:
elTexto = soup.find('div', attrs={'class': 'verde'}).getText()
print(elTexto)
'Bienvenido a mi web'
#Obtener dentro de otra etiqueta anidado:
elTexto = next(soup.div.children).getText() #con next obtiene primer "hijo"
print(elTexto)
'Bienvenido a mi web'
#supongamos tenemos el siguiente HTML
pagina_web = "<html>" \
+ "<head></head>" \
+ "<body>" \
+ "<div class='contenedor'>" \
+ "<ul>" \
+ "<li>Perro</li>" \
+ "<li>Gato</li>" \
+ "<li>Tortuga</li>" \
+ "</ul>" \
+ "</div>" \
+ "</body>" \
+ "</html>"
soup = BeautifulSoup(pagina_web, "lxml")
for child in soup.ul.children:
print(child.getText())
Perro Gato Tortuga
items = soup.find_all('li')
for item in items:
print(item.getText())
Perro Gato Tortuga
#supongamos tenemos el siguiente HTML
pagina_web = "<html>" \
+ "<head></head>" \
+ "<body>" \
+ "<div class='contenedor'>" \
+ "<ul>" \
+ "<li><a href='http://www.google.com'>Google</a></li>" \
+ "<li><a href='http://www.yahoo.com'>Yahoo</a></li>" \
+ "<li><a href='http://www.bing.com'>Bing</a></li>" \
+ "</ul>" \
+ "</div>" \
+ "</body>" \
+ "</html>"
soup = BeautifulSoup(pagina_web, "lxml")
items = soup.find_all('a')
for item in items:
print(item['href'])
http://www.google.com http://www.yahoo.com http://www.bing.com
url_page = 'https://www.lifeder.com/cientificos-famosos/'
page = requests.get(url_page).text
soup = BeautifulSoup(page, "lxml")
contenido = soup.find('div', attrs={'class': 'td-post-content'})
items = contenido.find_all('a')
for item in items:
print(item['href'])
https://www.lifeder.com/personajes-historicos/ https://www.lifeder.com/frases-de-albert-einstein/ https://www.lifeder.com/aportaciones-isaac-newton/ https://www.lifeder.com/frases-de-isaac-newton/ https://www.lifeder.com/frases-de-stephen-hawking/ https://www.lifeder.com/mujeres-famosas-historia/ https://www.lifeder.com/aportaciones-galileo-galilei/ https://www.lifeder.com/frases-de-galileo-galilei/ https://www.lifeder.com/frases-de-charles-darwin/ https://www.lifeder.com/aportaciones-kepler/ https://www.lifeder.com/frases-de-thomas-edison/ https://www.lifeder.com/frases-de-arquimedes/ https://www.lifeder.com/frases-de-leonardo-da-vinci/ https://www.lifeder.com/aportaciones-john-dalton/ https://www.lifeder.com/daltonismo/ https://www.lifeder.com/frases-de-rene-descartes/
El artículo completo en www.aprendemachinelearning.com