Hack x Crack - Comunidad de Seguridad informática

Programación => Otros => Mensaje iniciado por: R3LI4NT en Noviembre 25, 2020, 07:12:38 pm

Título: Web Scraping con python [Sencillo]
Publicado por: R3LI4NT en Noviembre 25, 2020, 07:12:38 pm
Web Scraping
Según Wikipedia:
Citar
Web scraping o raspado web, es una técnica utilizada mediante programas de software para extraer información de sitios web.​ Usualmente, estos programas simulan la navegación de un humano en la World Wide Web ya sea utilizando el protocolo HTTP manualmente, o incrustando un navegador en una aplicación.

El web scraping está muy relacionado con la indexación de la web, la cual indexa la información de la web utilizando un robot y es una técnica universal adoptada por la mayoría de los motores de búsqueda. Sin embargo, el web scraping se enfoca más en la transformación de datos sin estructura en la web (como el formato HTML) en datos estructurados que pueden ser almacenados y analizados en una base de datos central, en una hoja de cálculo o en alguna otra fuente de almacenamiento. Alguno de los usos del web scraping son la comparación de precios en tiendas, la monitorización de datos relacionados con el clima de cierta región, la detección de cambios en sitios webs y la integración de datos en sitios webs. También es utilizado para obtener información relevante de un sitio a través de los rich snippets.

En los últimos años el web scraping se ha convertido en una técnica muy utilizada dentro del sector del posicionamiento web gracias a su capacidad de generar grandes cantidades de datos para crear contenidos de calidad.

Primero que nada debemos de instalar las librerías necesarias (beautifulsoup4 y requests):
Código: Text
  1. sudo pip3 install beautifulsoup4
  2. sudo pip3 install requests
  3.  
Con beautifulsoup4 extraemos ficheros HTML y XML, y con requests enviamos solicitudes para bajar el contenido de la página.

Código 1:
Código: Python
  1. import requests
  2. from bs4 import BeautifulSoup
  3.  
  4. url = "https://www.top10listas.com/2019/02/lo-que-debes-saber-sobre-las-10-potencias-economicas-mundiales"
  5. page = requests.get(url)
  6. soup = BeautifulSoup(page.content, "html.parser")
  7.  
  8. #Potencias Mundiales
  9.  
  10. title = "Se clasifican en: "
  11. paises = soup.find_all("h3")
  12. print(title, paises)
  13.  
soup.find_all = acceder a etiquetas, clases, etc. Para ello, debemos ir al sitio web y dar clic derecho en "Inspeccionar elemento".

RESULTADO
(https://imagizer.imageshack.com/img923/8699/A2qGBc.png)

Meter el contenido dentro de una lista.
Código 2:
Código: Python
  1. import requests
  2. from bs4 import BeautifulSoup
  3.  
  4. url = "https://www.top10listas.com/2019/02/lo-que-debes-saber-sobre-las-10-potencias-economicas-mundiales"
  5. page = requests.get(url)
  6. soup = BeautifulSoup(page.content, "html.parser")
  7.  
  8. #Potencias Mundiales
  9.  
  10. title = "Se clasifican en: "
  11. paises = soup.find_all("h3")
  12. print(title, paises)
  13.  
  14. potencia = list()
  15.  
  16. for i in paises:
  17.         potencia.append(i.text)
  18.  
  19. print(potencia)
  20.  

RESULTADO
(https://imagizer.imageshack.com/img924/1039/VYBQBY.png)

Repositorio: https://github.com/R3LI4NT/web-scraping-example

No se necesita grandes conocimientos de programación. Una disculpa por ser un post corto, un saludo :P

#R3LI4NT