Saltar al contenido

¿Cómo raspar un sitio web que requiere iniciar sesión usando python y beautifulsoup?

Solución:

Puede utilizar mecanizar:

import mechanize
from bs4 import BeautifulSoup
import urllib2 
import cookielib ## http.cookiejar in python3

cj = cookielib.CookieJar()
br = mechanize.Browser()
br.set_cookiejar(cj)
br.open("https://id.arduino.cc/auth/login/")

br.select_form(nr=0)
br.form['username'] = 'username'
br.form['password'] = 'password.'
br.submit()

print br.response().read()

O urllib: inicie sesión en el sitio web utilizando urllib2

Hay una forma más sencilla, desde mi punto de vista, que te lleva ahí sin selenium o mechanizeu otras herramientas de terceros, aunque sea semi-automatizado.

Básicamente, cuando inicia sesión en un sitio de manera normal, se identifica de una manera única utilizando sus credenciales, y la misma identidad se usa a partir de entonces para todas las demás interacciones, que se almacenan en cookies y headers, durante un breve período de tiempo.

Lo que debes hacer es usar el mismo cookies y headers cuando realice sus solicitudes http, y estará en.

Para replicar eso, siga estos pasos:

  1. En su navegador, abra las herramientas de desarrollo
  2. Vaya al sitio e inicie sesión
  3. Después el inicio de sesión, vaya a la pestaña de red y luego actualizar la página
    En este punto, debería ver una lista de solicitudes, la principal es el sitio real, y ese será nuestro enfoque, porque contiene los datos con la identidad que podemos usar para que Python y BeautifulSoup la raspen.
  4. Haga clic con el botón derecho en la solicitud del sitio (la de arriba), coloque el cursor sobre copy, y luego copy as
    cURL

    Como esto:

ingrese la descripción de la imagen aquí

  1. Luego vaya a este sitio que convierte cURL en solicitudes de Python: https://curl.trillworks.com/
  2. Tome el código de Python y use el generado cookies y headers para proceder con el raspado

Puede usar selenio para iniciar sesión y recuperar la fuente de la página, que luego puede pasar a Beautiful Soup para extraer los datos que desee.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *