Exprésate aquí

71278 сообщений, 2376 страниц:  1; 2374 23752376 ↖ Вернуться к списку тем

счёт: +141

Опрос: ¿Cómo te sientes hoy? Puedes elegir varias y cambiar según el día.

¿Cómo te sientes hoy? Puedes elegir varias y cambiar según el día.

366 Голоса
Можно выбрать несколько ответов.
Ответы анонимны: никто не может видеть, кто что ответил.
Закрытие этого опроса 01.01.2037 23:59:00

71251. Woss,

en que... yo soy el mejor the best a no. listo me quito una carga de encima. pa mañana empezar otra. osi

счёт: +0

71252. La-Gata-zeguer,

eres el mejor si el mejor del planeta

счёт: +0

71253. marcoML,

fan de Laurita garza

счёт: +0

71254. michi_naranja,

¡ese psicólogo me llena de orgullo! 🤣.
tu-juancito-precioso: me expreso. los que lean este mensaje, el dr me ha echo unas recomendaciones desde que vine de la cita...: hace aproximadamente 1

счёт: +0

71255. Dani-Tunes,

Y sobre la actualización qué Juan? Dinos algo. Que trae de nuevo y qué versión es?

счёт: +0

71256. Sam_Cortland,

3 años.

счёт: +0

71257. Tu_gatito_ron_ron,

hmmm… Como se llama ese psicólogo? para no ir.
Chicas, tengan cuidado que aquí Juancito suvirá el nivel de acoso en un 69%. ¿Al final lo actualizó? si, o no.

счёт: +0

Последнее изменение Tu_gatito_ron_ron, 2 часов назад

71258. michi_naranja,

es que ese parche lo creó Microsoft.
en vez de arreglarlo lo rompió más 🤣

счёт: +0

Последнее изменение michi_naranja, 2 часов назад

71259. tu-juancito-precioso,

aver! cual acoso están ablando? ellas no la dejé de sorprender que yo me volví una amenaza para ellas que me cayeron muy mal. por todo el sufrimiento que me causaron desde que inicié con. col***. quería respuestas, quería venganza, quería tantas cosas que no podía tener. quería recuperarla, pero no puedo hacer apsolutamente nada!

счёт: +0

71260. ARIANA-GRANDE,

ese psicólogo compró el título.

счёт: +0

71261. JohnDolmayan,

Y no flaco, no podés hacer nada. Ojalá siempre te dieran bola las que querés, todos seríamos más felices. Buscá a alguien más, pero fuera de sala o, si vas a buscar acá, con cuidado de lo que decís.

счёт: +0

71262. michi_naranja,

pongo mi firma a que sí.
ARIANA-GRANDE: ese psicólogo compró el título.: hace 13 minutos

счёт: +0

71263. Deku,

Tan difícil era simplemente dejar pasar el comentario y ya?

счёт: +0

71264. oamenspreek,

esos psicólogos que compran el título, noj esque de verdad son una cosa seria. Y bueno, menos mal a juancito no le ofreció plata aquel psicólogo, por decir groserías.

счёт: +0

71265. Woss,

we ya déjenlo dios mío el cuenta algo y ustedes salen como aves de rapiña. yá, yá. que bayna hermano

счёт: +0

71266. michi_naranja,

que hora es?

счёт: +0

71267. melanie,

12:10 personita

счёт: +0

71268. michi_naranja,

aquí son 14:10

счёт: +0

71269. oamenspreek,

Son las 12 horas y 15 minutos

счёт: +0

71270. michi_naranja,

Carga media de la CPU 8.3%, Núcleo 1: 16.2%, Núcleo 2: 13.5%, Núcleo 3: 25.3%, Núcleo 4: 24.5%, Núcleo 5: 4.2%, Núcleo 6: 3.3%, Núcleo 7: 1.4%, Núcleo 8: 0.5%, Núcleo 9: 0.9%, Núcleo 10: 2.3%, Núcleo 11: 2.8%, Núcleo 12: 3.7%.

счёт: +0

71271. Deku,

Me encanta mi nuevo estado, un momento de inspiración mientras comía y veía una de mis series favoritas de todos los tiempos.

счёт: +0

71272. Fire_unicorn,

Ese psicólogo está entusado

счёт: +0

71273. Rayo,

éramos tan ilusos...
alfred: También está el mod de Crusader kings, y otro de final fantasy VII que está por salir.: 01.08.2023 11:54

счёт: +0

71274. Deku,

Rayo, ahs de cuenta que fue tu ex, y déjalo ir.

счёт: +0

71275. Rayo,

nescesitabas ser tan específico?

счёт: +0

71276. el-samu,

buenas, tengo un problema visual a la hora de leer el foro, y es que al estar todo del mismo color confunde un poco a la hora de leer. No sé si de los que tengan resto visual alguien tendría algún tip para poder leerlo de manera más cómoda ?

счёт: +0

71277. el-naranjo-mecanico,

paso para aclarar que el samu no soy yo. una vez tuve ese Nick pero hace mucho tiempo.

счёт: +0

71278. Rayo,

import requests
from bs4 import BeautifulSoup
import time
import warnings
import datetime

class EstadisticasPosteadores:
def __init__(self):
self.usuario_objetivo = input("Introduce el nombre del usuario a buscar: ").strip()
self.posteadores = self.obtener_posteadores()
self.analizar()

# Método para obtener la lista de posteadores
def obtener_posteadores(self):
url_principal = "https://www.qcsalon.net/es/"
# Agregar un parámetro de cache-busting usando el timestamp actual
timestamp = int(datetime.datetime.now().timestamp())
url_stats = f"https://www.qcsalon.net/es/stats?forum&_={timestamp}"

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' \
'AppleWebKit/537.36 (KHTML, like Gecko) ' \
'Chrome/116.0.0.0 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;' \
'q=0.9,image/webp,*/*;q=0.8',
'Accept-Language': 'es-ES,es;q=0.9,en;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Referer': 'https://www.qcsalon.net/es/',
'Cache-Control': 'no-cache',
'Pragma': 'no-cache',
}

# Desactivar la verificación SSL
verify_ssl = False

if not verify_ssl:
# Suprimir advertencias de solicitudes inseguras
warnings.filterwarnings("ignore", category=requests.packages.urllib3.exceptions.InsecureRequestWarning)

with requests.Session() as session:
session.headers.update(headers)

try:
# Solicitud inicial a la página principal para establecer cookies
respuesta_principal = session.get(url_principal, verify=verify_ssl, timeout=10)
respuesta_principal.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"Error al obtener la página principal: {e}")
return None

try:
# Solicitud a la página de estadísticas con cache-busting
respuesta_stats = session.get(url_stats, verify=verify_ssl, timeout=10)
respuesta_stats.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"Error al obtener la página de estadísticas: {e}")
return None

sopa = BeautifulSoup(respuesta_stats.text, 'html.parser')
encabezado = sopa.find("h2", string="Los más grandes posteadores")
if encabezado is None:
print("No se encontró el encabezado 'Los más grandes posteadores'.")
return None

lista = encabezado.find_next("ol")
if lista is None:
print("No se encontró la lista de posteadores.")
return None

posteadores = {}
for elemento in lista.find_all("li"):
texto = elemento.get_text()
if ":" in texto:
nombre, publicaciones = texto.rsplit(":", 1)
publicaciones = publicaciones.replace("\xa0", "").replace("posts", "").strip()
try:
posteadores[nombre.strip()] = int(publicaciones.replace(" ", ""))
except ValueError:
print(f"Error al convertir el número de publicaciones para el usuario '{nombre.strip()}'.")
return posteadores

# Método para analizar el usuario objetivo
def analizar(self):
if self.posteadores:
# Buscar coincidencia insensible a mayúsculas
usuarios_lower = {usuario.lower(): usuario for usuario in self.posteadores}
usuario_buscado_lower = self.usuario_objetivo.lower()
if usuario_buscado_lower in usuarios_lower:
usuario_real = usuarios_lower[usuario_buscado_lower]
self.analizar_usuario_objetivo(usuario_real)
else:
print(f"El usuario '{self.usuario_objetivo}' no se encuentra en la lista.")
else:
print("No se pudieron obtener los posteadores.")

# Método para realizar el análisis específico del usuario objetivo
def analizar_usuario_objetivo(self, usuario_real=None):
usuario = usuario_real if usuario_real else self.usuario_objetivo
datos_ordenados = sorted(self.posteadores.items(), key=lambda x: x[1], reverse=True)
try:
indice_usuario = next(
indice for indice, (usuario_iter, _) in enumerate(datos_ordenados)
if usuario_iter.lower() == usuario.lower()
)
except StopIteration:
print(f"El usuario '{usuario}' no se encuentra en la lista.")
return

publicaciones_usuario = datos_ordenados[indice_usuario][1]

if indice_usuario == 0:
print(f"El usuario '{usuario}' es top 1, con {publicaciones_usuario} publicaciones.")
elif indice_usuario >= 5:
publicaciones_siguiente_usuario = datos_ordenados[indice_usuario - 1][1]
publicaciones_necesarias_para_sobrepasar = publicaciones_siguiente_usuario - publicaciones_usuario
umbral_top5 = datos_ordenados[4][1]
publicaciones_necesarias_top5 = umbral_top5 - publicaciones_usuario
print(f"A '{usuario}' le faltan {publicaciones_necesarias_para_sobrepasar} publicaciones para alcanzar a "
f"'{datos_ordenados[indice_usuario - 1][0]}', {publicaciones_necesarias_top5} publicaciones para "
f"entrar al top 5 y tiene {publicaciones_usuario} publicaciones.")
else:
siguiente_top = indice_usuario - 1 if indice_usuario > 0 else 1
publicaciones_siguiente_top = datos_ordenados[siguiente_top][1]
publicaciones_necesarias_para_sobrepasar = publicaciones_siguiente_top - publicaciones_usuario
print(f"El usuario '{usuario}' está en el top {indice_usuario + 1}, y le faltan "
f"{publicaciones_necesarias_para_sobrepasar} publicaciones para alcanzar al top {siguiente_top + 1}.")

time.sleep(2)

if __name__ == "__main__":
estadisticas = EstadisticasPosteadores()

счёт: +0

71278 сообщений, 2376 страниц:  1; 2374 23752376 ↖ Вернуться к списку тем

Ответить на тему

Чтобы писать на форуме, вам нужно сначала войти.

Забыли пароль? Создать учётную запись