python:webscraping
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| python:webscraping [2024/02/05 18:43] – [Encontrar elementos] alberto | python:webscraping [2024/02/05 19:00] (actual) – [Encontrar elementos] alberto | ||
|---|---|---|---|
| Línea 115: | Línea 115: | ||
| Para obtener estos elementos usaremos el método **.select()**\\ | Para obtener estos elementos usaremos el método **.select()**\\ | ||
| - | {{ : | + | {{ : |
| Se pueden utilizar varios patrones de selectores para realizar búsquedas más sofisticadas, | Se pueden utilizar varios patrones de selectores para realizar búsquedas más sofisticadas, | ||
| Línea 125: | Línea 125: | ||
| También es posible obtener el texto que se encuentra asociado a un elemento HTML (el que aparece en la web) a través del método **.getText()**. | También es posible obtener el texto que se encuentra asociado a un elemento HTML (el que aparece en la web) a través del método **.getText()**. | ||
| + | Suponemos el siguiente código HTML | ||
| + | <code html> | ||
| + | <!-- This is the example.html example file. --> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | inventwithpython.com"> | ||
| + | <p class=" | ||
| + | <p>By <span id=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Podemos buscar elementos del siguiente modo, directamente en la terminal de python: | ||
| <code python> | <code python> | ||
| - | import | + | >>> |
| - | res = requests.get(' | + | >>> |
| - | res.raise_for_status() | + | >>> |
| - | noStarchSoup | + | >>> |
| + | >>> | ||
| + | <class ' | ||
| + | >>> | ||
| + | 1 | ||
| + | >>> | ||
| + | <class 'bs4.element.Tag'> | ||
| + | >>> | ||
| + | '< | ||
| + | >>> | ||
| + | 'Al Sweigart' | ||
| + | >>> | ||
| + | {' | ||
| + | >>> | ||
| + | >>> | ||
| + | '< | ||
| + | inventwithpython.com"> | ||
| + | >>> | ||
| + | ' | ||
| + | >>> | ||
| + | '<p class=" | ||
| + | >>> | ||
| + | 'Learn Python the easy way!' | ||
| + | >>> | ||
| + | '< | ||
| + | >>> | ||
| + | 'By Al Sweigart' | ||
| + | </ | ||
| - | p_elems | + | ==== Obtener datos de atributos de elementos ==== |
| - | img_elems | + | Para obtener fácilmente los valores de los atributos de un elemento (objeto tipo tag), podemos usar el método **get()**. Se le pasa el string del nombre de un atributo, y devuelve su valor. Vemos un ejemplo en la consola de Python: |
| - | img_elems[2] # <img alt=" | + | <code python> |
| - | + | >>> | |
| - | img = img_elems[1] | + | >>> |
| - | str(img) # | + | >>> |
| - | img.get('alt' | + | >>> str(spanElem) |
| - | img.attrs # {'src': ' | + | '<span id="author">Al Sweigart< |
| + | >>> | ||
| + | 'author' | ||
| + | >>> | ||
| + | True | ||
| + | >>> | ||
| + | {'id': 'author'} | ||
| </ | </ | ||
| ===== Módulo selenium ===== | ===== Módulo selenium ===== | ||
python/webscraping.1707155021.txt.gz · Última modificación: por alberto
