Volver |

Web Scraping

Introducción

Es el proceso para recopilar información desde un sitio web, obteniendo los datos en una estructura que nos facilite el posterior procesamiento.

 

Técnicas de acuerdo al tipo de sitio a analizar

Sitios web estáticos: Al hacer una petición HTTP se obtiene todo el documento html con la información.

Sitios web dinámicos: La información es cargada a través de la ejecución de JavaScript (por ejemplo con Angular o mediante peticiones AJAX). Esto complica más la extracción de información.

 

Enlaces de interés:

Ejemplos de Webscraping: https://github.com/Pabex/webscraping

Lógica general para scrapear un sitio web

A continuación se presenta la lógica para scrapear un sitio web.

# Hacer la petición tal como lo hiciera el navegador.
response = requests.get(‘https://sitio.com/busqueda/?q=JuanPerez’)

# Parsear el HTML.
bs = BeautifulSoup(response.text, 'html.parser')

# Buscar las etiquetas que contengan los datos que deseamos obtener.
spans = bs.find_all('span', class_='phone-number')

# Estructurar los datos de una forma conveniente.
phone_numbers = []
for span in spans:
  phone_number = span.string
  phone_numbers.append(phone_number)

 

Web Scraping en la Darknet

También se puede realizar scraping en la darknet, para ello se debe utilizar el protocolo socks5. A continuación se presenta un ejemplo:

session = requests.session()

session.proxies = {'http': 'socks5h://127.0.0.1:9050', 'https': 'socks5h://127.0.0.1:9050'}

response = session.get(url_onion)

 

Para entender más de socks podés visitar el artículo desde esta misma wiki: Socks

En este artículo participaron: