Automatizar el inicio de sesión de Steemit con Python
¡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
2. Descargar e instalar PyCharm
La versión Community fue la que yo descargué, es totalmente gratuita. Luego procedemos a instalar.
Esisten dos tipos de programador
3. Instalar Selenium
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:
- selenium
- selenium-3.14.1.dist-info
- urllib3
- 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
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
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.
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:
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!
Click here to view your Board
Do not miss the last post from @steemitboard:
Congratulations @betzabesp94! You received a personal award!
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!