Siga + estrella, aprenda nuevas habilidades de Python todos los días

Hoy en día, cualquier plataforma comunitaria tiene la función de me gusta, y surgió el dispositivo de me gusta automático, comúnmente conocido como dispositivo de extensión/me gusta.

Este artículo le presentará un robot similar, la lógica central más simple y fácil de entender.

El pseudocódigo involucrado en todo el texto está escrito en Python y, como es un pseudocódigo, puedes entenderlo sin saber Python.

Este escenario de prueba del blog

Esta vez, el robot similar es principalmente para el sitio web en la computadora y no involucra el lado de la aplicación.

Como la lógica del núcleo del robot

Simule operaciones de clic para activar Me gusta, Me gusta y otras operaciones.

Antes de implementar la operación similar, hay un paso importante en la implementación del código, simulando el inicio de sesión.

Por lo tanto, los requisitos básicos de un bot similar son los siguientes:

  1. inicio de sesión simulado;
  2. gustar;

Después de extender este requisito, hay dos escenarios comerciales comunes.

  1. Al simular el inicio de sesión en una gran cantidad de cuentas, se puede lograr una gran cantidad de me gusta para "una persona/una cosa/un artículo/un video", es decir, para rozar los puntos de otras personas;
  2. Al iniciar sesión en una cuenta, puede lograr Me gusta por lotes para "varias personas", es decir, cepillar sus propios puntos.

Implementación de nivel de código

Después de resolver la lógica básica, puede ingresar el enlace de codificación real.

Simular inicio de sesión

Hay dos formas de pensar en la implementación del inicio de sesión:

  1. Registre (o compre) una gran cantidad de cuentas, cambie de cuenta a través del programa Python y cambie a la siguiente cuenta cada vez que inicie sesión y le guste;
  2. A través de medios técnicos o manuales por adelantado, simule el inicio de sesión, registre las cookies generadas después del inicio de sesión de la cuenta y mantenga el grupo de cookies para realizar la lógica de operación.

El problema con la segunda idea es el tiempo de vigencia de las cookies, si el sitio web no tiene esta restricción, se recomienda adoptar este método, que es más eficiente.

Implementación de pseudocódigo

# 思路一
with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)

with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)


with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)
# 思路一
with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)

Entre ellos, el grupo de cookies de la segunda idea se puede crear manualmente o mediante un programa.

En la parte de inicio de sesión simulado, encontrará dos dificultades de aprendizaje

  1. problema de identificación del código de verificación;
  2. Restricciones anti-rastreo de IP.
  • Dificultad: la solución más fácil de usar, acoplándose a la plataforma de codificación.
  • La segunda solución a la dificultad es comprar un grupo de proxy de IP o crear un grupo de proxy usted mismo, centrándose en los requisitos de estabilidad y costo del proyecto.

me gusta

En muchos proyectos, cuando completa la operación de inicio de sesión simulada, ya indica que el sitio web está completamente abierto para usted.

Lo siguiente que debe hacer es encontrar la interfaz similar, como el siguiente caso (solo como referencia):

A CSDN le gusta la interfaz de la siguiente manera:

# POST 传递用户标识与文章 ID
Request URL: https://blog.csdn.net//phoenix/web/v1/article/like
Request Method: POST
# POST 参数如下
articleId=118558076

La interfaz de Me gusta de Zhihu es la siguiente:

# 直接 POST 传递,用户标识在 Cookie 中
Request URL: https://www.zhihu.com/api/v4/zvideos/1391420717800554497/likers
Request Method: POST

La interfaz tipo bilibili es la siguiente:

# 传递用户标识的同时,传递相应的参数
Request URL: https://api.bilibili.com/x/web-interface/archive/like
Request Method: POST
# POST 参数如下
aid: 631588341
like: 1
csrf: b39b26b6b8071e2f908de715c266cb59

A través de los casos anteriores, encontrará que el formato de la interfaz de operación similar es básicamente similar, y ambos pasan cookies y parámetros específicos al servidor a través de POST.

Entre ellos, los especiales de la estación B llevan un parámetro csrf, que se puede extraer directamente de la cookie.

Implementación de pseudocódigo

import requests

def like(params):
 # 请求头中获取 Cookie 由模拟登录获取
 cookie = get_cookie()
 # cookie = login()
 headers = {
  "其它属性":"属性值",
  "Cookie":cookie # 重点包含用户标识 Cookie
 }
 res = requests.post("地址","参数","请求头")

En la parte de llamar a la interfaz Me gusta, encontrará una dificultad de aprendizaje.

  • La interfaz contiene parámetros posicionales, como el csrf en el enlace similar al sitio B mencionado anteriormente. Para obtener la solución a los parámetros desconocidos, consulte la siguiente descripción.

Continúe tomando la estación B como ejemplo, abra las herramientas de desarrollo del navegador, cambie a la pestaña de red y cuando haga clic en Me gusta, habrá una solicitud de datos similares, como se muestra en la siguiente figura.

imagen

La solicitud también muestra los parámetros relevantes de POST. A continuación, solo necesita presionar Ctrl+F en el teclado para abrir la ventana de búsqueda (es decir, abrir en la pestaña de red de la herramienta de desarrollo actual), y en el cuadro de búsqueda, ingrese a la ventana de búsqueda. , puede encontrar todas las ubicaciones de solicitud donde aparece el valor, y luego realizar el análisis posterior. El punto clave es encontrar la ubicación y el principio del valor del parámetro.

imagen

Como resumen de robot

Hay varios escenarios de aplicación para robots similares automáticos. Para ser precisos, esta operación causará desequilibrios en algunas plataformas y afectará la equidad de los datos de la plataforma, pero es precisamente debido a la demanda que hay una gran cantidad de dispositivos similares en el mercado. ., anotadores, comentaristas, e incluso hay un montón de empresas para ejecutar este tipo de negocio.

No apoyamos este tipo de negocio, pero podemos aprender sus principios de implementación. Después de todo, usar Python para implementar una herramienta de automatización será muy simple después de comprender el principio.

Espero que este artículo le permita realizar su propia máquina de puntuación de nicho.

imagen


Mantenga presionado o escanee el código QR a continuación para obtener  cursos abiertos gratuitos de Python y cientos de gigabytes de materiales de aprendizaje empaquetados por los grandes , incluidos, entre otros, libros electrónicos de Python, tutoriales, pedidos de proyectos, código fuente, software descifrado, etc.

imagen

Escanea el código QR - obténlo gratis

Lectura recomendada

imagen
¡ Haz clic en "leer el texto original" para recargar juntos!