Desarrollo de script de votación automatizado de Python, la votación de WeChat ya no necesita enviar sobres rojos

prefacio

Ahora, algunas competencias requieren que los equipos participantes soliciten votos en línea para promover patrocinadores o la competencia en sí, e incluso la cantidad de votos representará un cierto porcentaje de los resultados. Por lo tanto, los boletos deslizados surgieron. Esta vez, nuestro equipo participa en una competencia, y necesitamos votar en línea para determinar los primeros. Como técnico, por supuesto, tenemos que "resolver" problemas que pueden resolverse con tecnología, por lo que escribimos un complemento para votación.

principio

El principio de deslizar los votos es muy simple, es equivalente a simular que una persona inicie sesión en el sitio web para votar, pero el proceso está programado para que el programa reemplace a la persona para ir al sitio web a votar. Para ser más específicos, primero, el cliente (nosotros) envía una solicitud (Solicitud) al servidor (sitio web de votación), diciéndoles que necesitamos leer la información en su sitio web, y luego el servidor nos responderá (Responder). , y luego les enviaremos el formulario completo (Solicitud), y ellos nos responderán (Respuesta) cuando lo reciban.
inserte la descripción de la imagen aquí

contenido principal

  • analizando el sitio
  • envío de formulario
  • Construir grupo de IP de proxy

1. Analizando el sitio web

Dado que la información que cada sitio web debe enviar es diferente, primero debemos analizar el sitio web de destino en consecuencia para averiguar su interfaz de formulario (es decir, URL o URL) y la información que debemos enviar.

1.1 Recopilación de información

Use F12 para abrir el elemento de auditoría, haga clic en Red y envíe un formulario

Los dos contenidos enmarcados son parte de la información del formulario que necesitamos saber

- URL de solicitud: URL de solicitud, la información que enviamos se pasa a esta URL

- Método de solicitud: el método de solicitud, el método que enviamos
inserte la descripción de la imagen aquí
anteriormente es la información básica que debe obtenerse. Con base en esta información, podemos escribir un complemento para pasar boletos, pero como programador que tiene altos estándares y requisitos estrictos para él mismo, esto es suficiente? Por supuesto que no, tenemos que averiguar si hay lagunas en este proceso de presentación.

¿Cómo encontrarlo? Analicé el código fuente, lo busqué y ¡lo encontré!
inserte la descripción de la imagen aquí

Vea lo que hay, tiene dos lagunas fatales aquí:

\1.Permite presentar 3 o más equipos, y no hay límite en el número máximo, solo el número mínimo.

\2 No filtra los mismos datos.

envío de formulario

Construir información de formulario

# 请求头信息
headers = {
 'Accept': '*/*',
 'Accept-Encoding': 'gzip',
 'Accept-Language': 'zh-CN',
 'Connection': 'keep-alive',
 'Content-Length': '16',
 'Content-Type': 'application/x-www-form-urlencoded',
 'Host': 'www.dingnf.com',
 'Origin': 'http://www.dingnf.com',
 'Referer': 'http://www.dingnf.com/active/wxws_s',
 'User-Agent': 'Mozilla/4.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.3029.110 Safari/537.36',
 'X-Requested-With': 'XMLHttpRequest'
}
 
# post表单网址
url = "http://www.dingnf.com/active/wxws_t"
params = {'ids': ['22', '22', '22']}
r = requests.post(url=url, data=params, headers=headers, proxies=proxies)

Construir grupo de IP de proxy

Construir contenedor de proxy IP

def WriteIPadress():
 all_url = [] # 存储IP地址的容器
 # 代理IP的网址
 url = "http://api.xicidaili.com/free2016.txt"
 r = requests.get(url=url)
 all_url = re.findall("d+.d+.d+.d+:d+",r.text)
 with open("D:\code\python\new\Brush ticket\IP.txt",'w') as f:
 for i in all_url:
 f.write(i)
 f.write('
')
 return all_url

función principal
inserte la descripción de la imagen aquí

Debido a que algunas direcciones IP son problemáticas, se debe configurar el manejo de excepciones para que el programa pueda ejecutarse normalmente, y los datos de la API se actualizan cada 15 minutos, y el tiempo que recorremos la lista es aproximadamente el mismo, por lo que no 't hacer cualquier otra cosa tratada.

ejecutar registro

inserte la descripción de la imagen aquí

el código

inserte la descripción de la imagen aquí
Además, me temo que no todos lo usarán, así que he preparado el escrito para ti, ¡y puedes usarlo directamente!
El código fuente se coloca en el disco en la nube de Baidu. Debe escanear el código QR de la certificación oficial de CSDN a continuación en WeChat para recibirlo de forma gratuita.

Acerca de los materiales de aprendizaje de Python:

1. Rutas de aprendizaje en todas las direcciones de Python

Los puntos técnicos en todas las direcciones de Python se ordenan para formar un resumen de los puntos de conocimiento en varios campos. Su utilidad radica en que puede encontrar los recursos de aprendizaje correspondientes de acuerdo con los puntos de conocimiento anteriores para garantizar que pueda aprender de manera más integral.
inserte la descripción de la imagen aquí

2. Herramientas de desarrollo esenciales para Python

inserte la descripción de la imagen aquí

4. Colección de videos de Python

Ver el video de aprendizaje basado en cero es la forma más rápida y efectiva de aprender. Siguiendo las ideas del maestro en el video, aún es muy fácil comenzar desde lo básico hasta lo más profundo.
inserte la descripción de la imagen aquí

5. Casos prácticos

La teoría óptica es inútil, tienes que aprender a seguirla, y tienes que hacerlo tú mismo, para que puedas aplicar lo que has aprendido a la práctica. En este momento, puedes aprender de algunos casos reales de combate.inserte la descripción de la imagen aquí

6. Ejercicios de Python

Comprobar los resultados del aprendizaje.
inserte la descripción de la imagen aquí

7. Información de la entrevista

Debemos aprender Python para encontrar trabajos bien remunerados. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de compañías de Internet de primera línea como Ali, Tencent y Byte, y los jefes de Ali han dado respuestas autorizadas. Después de terminar este conjunto Los materiales de la entrevista creen que todo el mundo puede encontrar un trabajo satisfactorio.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Esta versión completa del conjunto completo de materiales de aprendizaje de Python se ha subido a CSDN. Si lo necesita, puede guardar la imagen a continuación en su teléfono móvil y escanear el código QR de la certificación oficial de CSDN en WeChat para obtenerlo de forma gratuita [ 100 % de garantía gratis]

Supongo que te gusta

Origin blog.csdn.net/m0_59162248/article/details/129195082#comments_25843533
Recomendado
Clasificación