Python - Web
¿Por qué web?
Disponemos de infinidad de páginas de
donde obtener datos, ya sea porque
almacenan archivos estructurados, o
información en su página.
Dependiendo de cómo esté la información
almacenada, existen diferentes técnicas para
obtener datos de la web.
Técnicas para obtener datos web
• Manual
• Datos
• Archivos
• Archivos web con Pandas
• Web Scrapping
• APIs
• Abiertas
• Restringidas
• De pago
Protocolo
HTTP
Petición respuesta
Petición respuesta
Python server
HTML
CSS
Protocolo HTTP
Protocolo de aplicación diseñado en los 90s. Se usa para transmisión de datos,
documentos, imágenes o vídeos
Arquitectura
cliente
servidor
Los mensajes que manda un navegador son peticiones (request), y los del
servidor respuestas (responses)
HTTP Códigos respuesta
La URL no solo sirve para identificar
el protocolo de comunicación con el
servidor, y la dirección del servidor,
sino que también permite establecer
ciertos parámetros que usa el
servidor para hacer consultas
URL
Peticiones HTTP Dependiendo de la acción que se quiera realizar sobre el servidor,
habrá un tipo de petición diferente
API (Application Programming Interface)
Se trata de una pieza de software intermedia que permite que dos aplicaciones se
hablen entre ellas. Las APIs corren en el servidor y tienen un conjunto de
operaciones y subrutinas bien definidas. El lado del cliente necesita saber cómo
está definida esa API, para poder acceder a los datos
Explicación en 3 minutos
Técnica con la que podemos extraer
información de una web de manera
automatizada
Entre las aplicaciones prácticas estarían:
• Monitorización de precios de la
competencia
• Localización de items o stock en
eCommerces
• Detección de cambios en sitios web
• Registrar lanzamientos y novedades
• Analizar los enlaces de un sitio para
buscar links rotos
Web Scraping
Herramientas en Python
1. Archivos Web: nympy y pandas
2. APIs: librería request o librería con funciones propias de la API
3. Web Scraping: Selenium o Beautifulsoup
APIs interesantes
• Idealista: [Link]
• Tripadvisor: [Link]
• Twitter: [Link]
• Facebook developers: [Link]
• Youtube: [Link]
• IA Google Cloud: [Link]
• Servicios cognitivos Azure: [Link]
• IBM Watson: [Link]