Colección de citas famosas - Frases elegantes - Quiero escribir un sitio web de inicio de sesión en Python por lotes. Después de iniciar sesión, especifico un sitio web para determinar si la página web es lo que quiero.

Quiero escribir un sitio web de inicio de sesión en Python por lotes. Después de iniciar sesión, especifico un sitio web para determinar si la página web es lo que quiero.

Seguiremos estos pasos:

Selecciona los datos necesarios para iniciar sesión.

Iniciar sesión en el sitio

Rastrear los datos requeridos.

En este tutorial utilicé los siguientes paquetes (se pueden encontrar en requisitos.txt):

Requisitos

lxml

Paso uno : Investiga el sitio web.

Abrir página de inicio de sesión

Ir a la siguiente página "". Verá la página que se muestra a continuación (si ya ha iniciado sesión, cierre la sesión).

Mirando de cerca los detalles que necesitamos extraer para iniciar sesión.

En esta sección crearemos un diccionario para almacenar los detalles de la ejecución del inicio de sesión:

1. Haga clic derecho en el campo Nombre de usuario o Correo electrónico y seleccione Ver elemento". Usaremos el valor del cuadro de entrada cuyo atributo "nombre" es "nombre de usuario". "Nombre de usuario" será el valor clave y nuestro nombre de usuario/correo electrónico será el valor correspondiente (en otros sitios web, estos valores clave pueden ser "correo electrónico", "nombre de usuario", "iniciar sesión", etc.).

2. Haga clic derecho en el campo de contraseña y seleccione Ver elementos. En el script, necesitamos usar el valor del cuadro de entrada con el atributo "nombre" como "contraseña". "contraseña" será el valor clave del diccionario, y la contraseña que ingresemos será el valor correspondiente (en otros sitios web, el valor clave puede ser "contraseña de usuario", "contraseña de inicio de sesión", "contraseña", etc.).

3. En la página del código fuente, busque un token de entrada oculto llamado "csrfmiddlewaretoken". "csrfmiddlewaretoken" será el valor clave y el valor correspondiente será el valor de entrada oculto (en otros sitios web, el valor puede ser un valor de entrada oculto llamado "csrftoken" y "authenticationtoken"). Las columnas son las siguientes: "vy 00 PE 3 ra 6 aiswkbrpn 72s FM l 00 icuv 8".

Finalmente, obtendremos un diccionario como este:

Payload = {

"username":"<username>",

p>

"password":" & ltpassword>,

" csrfmiddlewaretoken ":" & lt;CSRF_TOKEN>

}

Recuerde, este es un caso específico para este sitio web. Aunque esta forma de inicio de sesión es simple, otros sitios web pueden requerir que revisemos los registros de solicitudes del navegador para encontrar las claves y valores relevantes que deben usarse en el paso de inicio de sesión.

Paso 2: Inicia sesión en el sitio web.

Para este script, solo necesitamos importar lo siguiente:

Solicitud de importación

Importar html desde lxml

Primero, necesitamos para crear un objeto de sesión. Este objeto nos permitirá guardar todas las solicitudes de sesión de inicio de sesión.

Solicitud de sesión = request.session()

En segundo lugar, necesitamos extraer la etiqueta csrf utilizada al iniciar sesión desde esta página web. En este ejemplo, usamos lxml y xpath para extraer datos, también podemos usar expresiones regulares u otros métodos para extraer datos.

login_url = " "

resultado = session_requests.get(url de inicio de sesión)

árbol = html de cadena(resultado. texto)

authenticity _ token = list(set(tree... En esta etapa enviamos una solicitud POST a la URL de inicio de sesión utilizando la carga útil que creamos en el paso anterior.

También puede utilizar un encabezado para la solicitud y agregar una clave de referencia en el encabezado que apunte a la misma URL.

resultado = session_requests.post(

login_url,

datos = carga útil,

encabezados = dict(referer=login_url)

)

Paso 3: Rastrear el contenido

Ahora que hemos iniciado sesión correctamente, realizaremos la operación de rastreo real desde la página del panel de Bitbucket.

url = ' '

resultado = session_requests.get(

url,

encabezados = dict(referer = url)

p>

)

Para probar lo anterior, tomamos la lista de proyectos de la página del panel de Bitbucket. Usaremos xpath nuevamente para encontrar el elemento de destino, borrar el texto y los espacios en nuevas líneas e imprimir los resultados. Si todo funciona bien, el resultado debería ser una lista de depósitos/proyectos en su cuenta de bitbucket.

árbol = html . de cadena(resultado . contenido)

bucket_elems = árbol.findall(".//span[@class='repo-name']/) p>

bucket _ nombres = [bucket . text _ content . reemplazar (" n ", " ") del depósito en bucket_elems

Imprimir el nombre del depósito

<". p >También puede verificar los resultados de estas solicitudes verificando el código de estado devuelto por cada solicitud. No siempre le permitirá saber si la fase de inicio de sesión fue exitosa, pero puede usarse como indicador de verificación. p>Por ejemplo:

Result.ok #nos dirá si la última solicitud fue exitosa

Result.status_code #devolverá el estado de nuestra última solicitud

.

Eso es todo.