Automatizar el inicio de sesión de Steemit con Python

in #spanish6 years ago (edited)

¡Hola a todos mis queridos steemians!



¿Cansado de tener que buscar tu clave de Steemit a cada momento? ¿Temes dejar tu Steemit abierto por tu configuración NSFW? * Voz de infomercial * ¿O simplemente quieres aprender algo útil y sencillo de programación?

Si a cualquiera de esas preguntas la respuesta es sí, pues detente un momento para leer esta publicación, trataré de que sea corta, ilustrativa y no aburrirte. En caso de que tengas cualquier duda o comentario y entiéndase CUALQUIER duda, puedes escribirme en los comentarios.
¡Estoy a la orden!


No necesitas ser un experto en programación para realizar este código, una de las ventajas de Python es que es sencillo y de código abierto.

Python es un potente lenguaje de programación con una filosofía que favorece un código legible gracias a su sintaxis. Dicen que si sabes inglés sabes programar en Python.

NOTA: Este script sólo funciona con el navegador Firefox, es posible hacerlo con el navegador Chrome, pero habría que descargar el ChromeDriver.


¿Qué hace este programa?


Con este programa podrás con 1 click, entrar automaticamente a tu cuenta de Steemit desde el escritorio a través del navegador de Firefox. El programa abrirá el navegador por ti, colocará tu nombre de usuario, tu contraseña y presionará el botón de Iniciar sesión.

¿Qué necesitas?


Daré una lista de lo que necesitas, si eres programador y ya tienes alguno de estos pasos previamente realizados puedes saltar el paso.
1. Descargar e instalar Python
2. Descargar e instalar PyCharm
3. Instalar Selenium
4. Guardar las librerias necesarias en la carpeta del proyecto de PyCharm
5. Editar las variables del sistema
6. Descargar Geckodriver
7. Escribir el código

Ahora vamos paso a paso.


1. Descargar e instalar Python

En este paso no nos detendremos mucho porque es extremadamente sencillo, en mi caso tengo Python versión 3.5 pero pueden descargar la última y con versiones anteriores debería funcionar. Les dejo el enlace: Descargar Python

2. Descargar e instalar PyCharm

PyCharm es un entorno de desarrollo para Python, si ya tienen una alternativa diferente a PyCharm podrían saltar este paso pero fue el que utilicé. Les dejo el enlace: Descargar PyCharm

La versión Community fue la que yo descargué, es totalmente gratuita. Luego procedemos a instalar.
También es un proceso que no trae consigo complicaciones, puedes probarlo si quieres.

Esisten dos tipos de programador


3. Instalar Selenium

La manera más fácil de instalar selenium es mediante el simbolo del sistema (CMD), para esto colocamos en el buscador de windows CMD, entramos al simbolo del sistema.



Una vez allí escribimos el siguiente código. pip install selenium En caso de que no tengas una versión actualizada de pip necesaria para instalar selenium, se te solicitará actualizar el pip para lo que deberás escribr: python -m pip install -–upgrade pip





Esta última imagen muestra que se instaló correctamente selenium.

4. Guardar las librerias necesarias en la carpeta del proyecto de PyCharm


Para este paso es necesario copiar las librerías ya instaladas para que el proyecto de PyCharm funcione, si no has creado el proyecto puedes hacerlo, yo cree un proyecto PyCharm con el nombre Steemit. Ahora, buscamos la ubicación donde estan las librerías instaladas de Python.

->Equipo-> Disco local C -> Usuarios -> El usurio de la dirección donde instalaste Python ->(EN ESTE PUNTO ES IMPORTANTE INGRESAR A VISTA, EN LA PARTE SUPERIOR DE LA VENTANA Y SELECCIONAR: MOSTRAR ELEMENTOS OCULTOS) AppData -> Local -> programas ->Python -> Python35 (en mi caso) ->Lib -> site-package

En site-package copiamos las librerias necesarias. podemos verlo en la siguiente imagen.

Se copian las 4 carpetas seleccionadas:

  1. selenium
  2. selenium-3.14.1.dist-info
  3. urllib3
  4. urllib3-1.23.dist-info

Se pegan en la siguiente dirección que es la carpeta donde se encuentran los paquetes ya instalados del proyecto Steemit.


5. Editar las variables del sistema

Entramos en panel de control, en el buscador escribimos editar variables de entorno del sistema, seleccionamos esa opción:


Ahora seleccionamos la opción path y presionamos el botón editar



En la ventana posterior presonamos el botón Nuevo, y seguido examinar... ubicamos la ruta de la versión de Python que descargaste, esta dirección ya fue descrita previamente y la podemos visualizar en la siguiente imagen.



6. Descargar Geckodriver

Les dejo el enlace para que descarguen la verión de Geckodriver que corresponda a su sistema operativo: Geckodriver

Una vez descargado, extraen el archivo con WinRaR u otro programa y el archivo ejecutable de Geckodriver lo copian y lo pegan en la ruta de python35.



7. Escribir el código

Lo mejor para el final, ahora sí. Manos a la obra, en el proyecto PyCharm llamado Steemit se crea un nuevo archivo python llamado: Login, primero les mostraré el código y lo iré explicando.


from selenium import webdriver

usr = "betzabesp94" # Aquí ingresas tu nombre de usuario
pwd = "B3TZ4B3eSl4M3jOrD3lUn1v3rs0Y3sT4Es5uCl4V3" # Aquí ingresas tu contraseña (obviamente aqui esto es un ejemplo)

driver = webdriver.Firefox() # Comando para abrir firefox
driver.get("https://steemit.com/login.html") # Comando para dirigirse al login

username_box = driver.find_element_by_name("username") # Se ubica la caja de texto para el nombre de usuario
username_box.send_keys(usr) # Se coloca el usuario previamente especificado

password_box = driver.find_element_by_name("password") # Mismo proceso que el anterior
password_box.send_keys(pwd)

login_btn = driver.find_element_by_class_name("button") # Con este comando se ubica el botón Iniciar sesión

login_btn.submit() # Entrar al botón de inicio de sesión, equivalente a hacer click

Con el comando driver.find. te apareceran varias opciónes para ubicar los elementos de una página web... ¿Cómo logramos ubicarlos? o ¿Cómo sabemos la clase o el nombre del elemento?

Es muy sencillo, en la página web que desees, posiciona el cursor sobre un elemento presiona el click derecho y selecciona la opción inspeccionar elemento, te dejaré un ejemplo.



Puedes notar que aquí dice que este elemento tiene un nombre el cual es "username" y en el código Python ese es el nombre que se utiliza para hallar el elemento. Inspeccionando los elementos puedes decifrar el código correcto para hallarlos o interactuar con ellos.

Te recomiendo hacer lo mismo con los demás elementos para que entiendas mejor el código.


Cuando corres el script pasará esto:



-Abrirá el navegador de Firefox
-Redirigirá la página al inicio de sesión
-Buscara los elementos para el login: Cuadro de texto de usuario, Cuadro de texto de contraseña, los llenará con la información que proporcionaste en las variables usr y pwd (para correrlo cambie la contraseña y coloqué la mia); por último ubica el elemento bóton de inicio de sesión y lo presiona.
¡Listo! Voila! ¡Eureka!


“Si, si el sexo es genial, pero ¿Has escrito un programa que corra sin errores?”

Te invito a que lo intentes, esta es una herramienta que te puede servir para automatizar el llenado de cualquier formulario en internet (siempre y cuando no tenga la confirmación de “No soy un robot”).

Lo que aprendes por tu cuenta es más valioso que lo que te enseñan otros.

Sort:  

Qué gran post nos has traído, Betzabe. Muy informativo y útil para la comunidad, sin duda. Se nota el gran esfuerzo que le has dedicado y, ¡te quiero felicitar por ello!

La programación es hermosa, otro lenguaje, otro mundo. Se dice que los programadores son los magos de las computadoras, ya que valiendose de sus estudios y sus extensos conocimientos en el lenguaje de los computadores, pueden hacer cosas en ellos que ningún otro podría. Exacto, como magia.

Yo mismo he programado en varios lenguajes, y conozco del tema, sin embargo nunca había tenido la oportunidad de hacer pequeño programita para iniciar sesión automáticamente desde mi escritorio. Lo acabo de hacer siguiendo tu guía y me ha resultado fascinante. Super cómodo y práctico. Nos vienen de maravilla a los que solemos tener que estar buscando la contraseña en el correo o donde sea que la hayamos guardado:

42578989_1970161279943019_4803399932453060608_n.png

Recomiendo a todo el que me lee hacer esto, quizás este primer contacto con la programación signifique un primer atisbo de amor para aquel que lo intente. :)

¡Muchas gracias!

¡GABRIEL!
La programación es hermosa, demuestra el poder de la lógica y hay que tener cierta pedagogía, ya que es practicamente enseñarle a una computadora qué hacer.

La ventaja de los lenguajes de alto nivel es que esa explicación se hace realmente sencilla y fácil de entender.

No tienes idea de lo mucho que aprecio tu apoyo, como llevas tiempo programando sé que Python no debe ser nuevo para ti. tal vez por eso no te tardaste nada, lo hiciste rápidisimo.

@betzabesp94, I gave you a vote!
If you follow me, I will also follow you in return!

No hay mucho que pueda decir, esto es increiblemente util, desde el principio hasta el final.

¡Muchas gracias por pasarte por aquí y por leer!



Este post ha sido votado por el Equipo de curación de Erarium por su relevancia informativa y educativa, puedes utilizar nuestra etiqueta para ubicar de manera mas fácil tu contenido y recibir nuestro apoyo.

UNETE A NUESTRO TRAIL Y SE PARTE DE LA COMUNIDAD EN DISCORD


¡Muchas gracias por el apoyo!

Congratulations @betzabesp94! You received a personal award!

1 Year on Steemit

Click here to view your Board

Do not miss the last post from @steemitboard:

SteemWhales has officially moved to SteemitBoard Ranking
SteemitBoard - Witness Update

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @betzabesp94! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!