Obtener Cookie de Twitter con Python + Selenium

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
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:

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba