afelipetrujillo Seguir
Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
- Desde
- 21 Jul 2021
- Mensajes
- 122
Hola Betas, reciban un cordial saludo.
Estoy desarrollando un par de scripts para obtener las cookies de una cuenta en twitter y reutilizarla para hacer automatizaciones con Selenium.
¿cómo se ejecuta?
Desde una shell o consola de comandos
Abrir selenium con las cookies
requirements.txt
get_cookie_from_twitter.py
open_twitter_with_cookie.py
Estoy desarrollando un par de scripts para obtener las cookies de una cuenta en twitter y reutilizarla para hacer automatizaciones con Selenium.
¿cómo se ejecuta?
Desde una shell o consola de comandos
Bash:
python get_cookie_from_twitter.py --account=cuentaDeTwitter
Abrir selenium con las cookies
Bash:
python open_twitter_with_cookie.py --account=cuentaDeTwitter
requirements.txt
Insertar CODE, HTML o PHP:
click==8.0.1
pickle5==0.0.11
selenium==3.141.0
urllib3==1.26.6
También deben descargar los driver de Firefox llamado geckodriver
get_cookie_from_twitter.py
Python:
import click
import pickle5 as pickle
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
@click.command()
@click.option(
"--account",
prompt="What is your twitter account name? (eg. @example)",
help="Twitter account name, eg. @example")
@click.option(
"--password",
prompt="what is the password?",
help="Twitter account password",
hide_input=True,
confirmation_prompt=True)
@click.option(
"--cookiesfolder",
prompt="what is the folder cookies files?",
help="Cookies folder",
default='./cookies')
def get_cookie_from_twitter(account, password, cookiesfolder):
driver = webdriver.Firefox()
driver.get('https://twitter.com/login?username_or_email=' + account)
element_present = EC.presence_of_element_located((By.NAME, 'session[password]'))
WebDriverWait(driver, 10).until(element_present)
password_element = driver.find_element(by=By.NAME, value="session[password]")
password_element.send_keys(password)
button_element = driver.find_elements(by=By.XPATH, value="//div[@role = 'button']")
button_element[0].click();
pickle.dump( driver.get_cookies() , open( cookiesfolder + "/" + account + ".pkl","wb"))
if __name__ == '__main__':
get_cookie_from_twitter()
open_twitter_with_cookie.py
Python:
import click
import pickle5 as pickle
from selenium import webdriver
@click.command()
@click.option(
"--account",
prompt="What is your twitter account name? (eg. @example)",
help="Twitter account name, eg. @example")
@click.option(
"--cookiesfolder",
prompt="what is the folder cookies files?",
help="Cookies folder",
default='./cookies')
def open_twitter_with_cookie(account, cookiesfolder):
driver = webdriver.Firefox()
driver.get("https://twitter.com")
cookies = pickle.load(open(cookiesfolder + "/" + account + ".pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
if __name__ == '__main__':
open_twitter_with_cookie()
Última edición: