Cómo usar Python para diseñar un rastreador que simule el inicio de sesión en Zhihu
solicitudes de importación
desde xtls.util import BeautifulSoup
.INDEX_URL = 'xxx
LOGIN_URL = 'xxx'
CAPTCHA_URL = 'xxx'
def gen_time_stamp():
return str(int( time.time())) '03d' random.randint(0, 999)
def login(nombre de usuario, contraseña, oncaptcha):
sesión = solicitudes .session()
_xsrf = BeautifulSoup(session.get(INDEX_URL).content).find(' input', attrs={'name': '_xsrf'})['value'] p>
datos = {
'_xsrf': _xsrf,
'email': nombre de usuario,
'contraseña': contraseña,
'remember_me': contraseña,
'remember_me': 'true',
'captcha': oncaptcha(session.get(CAPTCHA_URL gen_time_stamp()).content)
}
resp = session.status_code / 100 o u "Inicio de sesión exitoso" no en resp.content:
raise Exception('Error del código de verificación.' )
Volver a la sesión
Donde oncaptcha es una función de devolución de llamada (debe implementarla usted mismo), que acepta el parámetro de contenido binario del código de verificación y devuelve el contenido del código de verificación.
Adjunto: Puede identificar el código de verificación usted mismo o ingresar el código de verificación manualmente. El oncaptcha más simple es:
def oncaptcha(data):
con. open('ruta para guardar el archivo captcha', 'wb') as fp:
fp .write(data)
return raw_input('captcha: ')