informatica:programacion:python:web_scraping
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:python:web_scraping [2021/05/22 11:44] – [XPath] tempwin | informatica:programacion:python:web_scraping [2022/01/15 16:26] (actual) – [Recursos] tempwin | ||
|---|---|---|---|
| Línea 21: | Línea 21: | ||
| * [[http:// | * [[http:// | ||
| + | * [[https:// | ||
| Buscar en cualquier parte del documento: | Buscar en cualquier parte del documento: | ||
| Línea 61: | Línea 62: | ||
| Solo nos quedaríamos con el primer '' | Solo nos quedaríamos con el primer '' | ||
| + | |||
| + | Si solo nos queremos quedar con el texto que contiene cierto elemento: | ||
| + | |||
| + | <code xpath> | ||
| + | // | ||
| + | </ | ||
| + | |||
| + | Si solo queremos obtener el valor de un atributo: | ||
| + | |||
| + | <code xpath> | ||
| + | // | ||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | En los navegadores Google Chrome y Mozilla Firefox se pueden probar expresiones XPath desde la consola de las herramientas de desarrolladores introduciendo las expresiones en '' | ||
| + | </ | ||
| ==== Funciones ==== | ==== Funciones ==== | ||
| Línea 68: | Línea 85: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | * '' | ||
| <code xpath> | <code xpath> | ||
| Línea 74: | Línea 92: | ||
| Obtiene todos los '' | Obtiene todos los '' | ||
| + | |||
| + | Si queremos buscar por un texto: | ||
| + | |||
| + | <code xpath> | ||
| + | // | ||
| + | </ | ||
| + | |||
| + | Nos buscará todos los elementos '' | ||
| + | |||
| ===== Descargar ficheros ===== | ===== Descargar ficheros ===== | ||
| Línea 83: | Línea 110: | ||
| import requests | import requests | ||
| - | res = requests.get(" | + | # Con la petición vamos a personalizar la cabecera HTTP para |
| + | # que el servidor " | ||
| + | headers | ||
| + | " | ||
| + | } | ||
| + | |||
| + | url = " | ||
| + | |||
| + | res = requests.get(url, | ||
| # ' | # ' | ||
| Línea 93: | Línea 128: | ||
| # 200 -> Si ha ido bien | # 200 -> Si ha ido bien | ||
| - | El contenido de la descarga está en: | + | # El contenido de la descarga está en: |
| res.text | res.text | ||
| </ | </ | ||
| ===== Procesar HTML ===== | ===== Procesar HTML ===== | ||
| + | |||
| + | Tenemos dos posibilidades interesantes con los siguientes módulos de Python: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Hay una tercera posibilidad que es **Scrapy**, que es ya todo un framework para navegar por páginas, extraer información y moverse por las diferentes páginas de un mismo sitio. | ||
| + | |||
| + | La ventaja de Beautiful Soup frente a lxml es poder movernos por elementos sin conocer su id o clase, solo con tener un punto de partida. Ejemplos de esto es el método '' | ||
| Es necesario instalar BeautifulSoup: | Es necesario instalar BeautifulSoup: | ||
| Línea 219: | Línea 263: | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
informatica/programacion/python/web_scraping.1621676688.txt.gz · Última modificación: por tempwin
