Puko
Dseda
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
¿por que me sale duplicada la primera url y asi en todas y ya que se descarga se borra la primera línea ?Para acortar la URL y que solo muestre el nombre del archivo, puedes usar el móduloos
y su métodoos.path.basename(url)
, que retorna el último componente de la ruta. Debería verse algo así:
Python:import os # Ejemplo de URL url = "https://xxx.mx/wp-content/uploads/2024/01/2-1.jpg" # Extraer solo el nombre del archivo filename = os.path.basename(url) print(filename) # Debería imprimir '2-1.jpg'
Aplicado a tu código, reemplazaf"Descargando {image_url}"
conf"Descargando {os.path.basename(image_url)}"
:
Python:progress = tqdm(r.iter_content(1024), f"Descargando {os.path.basename(image_url)}", total=file_size, unit="B", unit_scale=True, unit_divisor=1024)
Lo que ves es el comportamiento predeterminado de tqdm, que actualiza la barra de progreso en la misma línea en lugar de imprimir una nueva cada vez. Esto es normalmente lo que quieres, ya que reduce el desorden en la consola.¿por que me sale duplicada la primera url y asi en todas y ya que se descarga se borra la primera línea ?
Descargando 2.jpg: 0%|[ ][Velocidad: ?B/s][Tamaño: 0.00/987k][Tiempo: 00:00/?]
Descargando 2.jpg: 76%|[███████████████▏ ][Velocidad: 988kB/s][Tamaño: 752k/987k][Tiempo: 00:00/00:00]
position=0
y leave=True
, pero ten en cuenta que esto puede generar mucha salida en la consola:progress = tqdm(r.iter_content(1024), f"Descargando {os.path.basename(image_url)}", total=file_size, unit="B", unit_scale=True, unit_divisor=1024, position=0, leave=True)
¿Cómo le cambio en el siguiente codigo que detecte la cantidad en la url [1:30].jpg por ejemplo si quiero [1:40].jpg se le cambie el "range"Mis disculpas por el desliz, confundí la respuesta 'r' con 'response'. Aquí te muestro cómo debería verse el código corregido:
Ya debería funcionar correctamente con las descargas y la barra de progreso para cada una.Python:import requests import os from tqdm import tqdm print("=") # Obtener los datos de entrada url = input("Introduce url: ") folder_path = input("Introduce ruta carpeta: ") # Crear la carpeta si no existe if not os.path.exists(folder_path): os.makedirs(folder_path) # Descargar las 30 imágenes for i in range(1, 31): image_url = url.replace("[1:30]", str(i)) # Sustituir [1:30] por el número actual de la imagen, formando la URL completa r = requests.get(image_url, stream = True) # Verificar si la petición fue exitosa if r.status_code == 200: # Preparar la ruta completa del archivo file_path = os.path.join(folder_path, f'2-{i}.jpg') # Comprobar el tamaño del archivo file_size = int(r.headers.get("Content-Length", 0)) # Crear el objeto tqdm progress = tqdm(r.iter_content(1024), f"Descargando {image_url}", total=file_size, unit="B", unit_scale=True, unit_divisor=1024) # Abrir el archivo en modo binario y escribir los datos with open(file_path, 'wb') as f: for data in progress.iterable: f.write(data) progress.update(len(data)) else: print(f"No se pudo descargar la imagen {i}.") print("Descarga completa.")
Puedes extraer la cantidad máxima desde la URL y luego usarla para configurar el rango. Aquí está cómo hacerlo con una expresión regular:¿Cómo le cambio en el siguiente codigo que detecte la cantidad en la url [1:30].jpg por ejemplo si quiero [1:40].jpg se le cambie el "range"
for i in range(1, 31):
image_url = url.replace("[1:30]", str(i))
import re
# Suponemos que la URL es algo como "https://.../[1:30].jpg"
url = "https://.../[1:30].jpg"
# Encuentra la cantidad máxima en la URL
match = re.search(r"\[1:(\d+)\]", url)
if match:
max_count = int(match.group(1))
else:
raise ValueError("La URL no contiene una cantidad máxima en el formato esperado ([1:N])")
# Usa esa cantidad máxima en el rango
for i in range(1, max_count+1):
image_url = url.replace("[1:" + str(max_count) + "]", str(i))
# ...
re.search(r"\[1:(\d+)\]", url)
busca un patrón en la URL que coincida con "[1:N]", donde N es uno o más dígitos. Si encuentra tal patrón, lo extrae y lo convierte en un entero, que luego se usa para configurar el rango. Si no encuentra el patrón, lanza una excepción.los video de REELS de facebook manejan algun contendo con derechos de autorLo más probable es que los vídeos a los que te refieres se hayan creado utilizando la tecnología GAN (Generative Adversarial Networks). El ejemplo más conocido de esto es This Person Does Not Exist, que utiliza GANs para generar imágenes realistas de personas que en realidad no existen.
Un GAN se compone de dos partes: el generador, que genera las nuevas imágenes, y el discriminador, que intenta distinguir entre las imágenes reales y las generadas. A través de este proceso de competencia, el GAN aprende a generar imágenes cada vez más realistas.
Cuando se aplica a vídeos, esta tecnología puede usarse para crear imágenes en movimiento de "personas" generadas por IA. Sin embargo, se requiere un conocimiento considerable en el campo del aprendizaje automático y la IA para trabajar con GANs y generar estas imágenes y vídeos.
Existen algunos servicios y software disponibles que utilizan esta tecnología, pero son en su mayoría de uso profesional o requieren habilidades técnicas avanzadas para utilizarlos debido a la complejidad del proceso.
De acuerdo con las políticas de Facebook, debes tener todos los derechos necesarios para cualquier contenido que cargues en su plataforma. Esto incluye la música o cualquier contenido de video. Si subes contenido que incluye material con derechos de autor que no te pertenece o no tienes permiso para utilizar, tu contenido podría ser eliminado por Facebook. En algunos casos, las infracciones repetidas de los derechos de autor pueden incluso llevar a la desactivación de tu cuenta. Por lo tanto, es mejor asegurarte de que tienes derecho a usar todo el contenido que subes.los video de REELS de facebook manejan algun contendo con derechos de autor
osea debo subir 100% mi contenido o puedo subir cuarquier contenido de 90 segundos?
¿Cómo le hago para que al final no repita la penultima línea cuando ya termino?Mis disculpas por el desliz, confundí la respuesta 'r' con 'response'. Aquí te muestro cómo debería verse el código corregido:
Ya debería funcionar correctamente con las descargas y la barra de progreso para cada una.Python:import requests import os from tqdm import tqdm print("=") # Obtener los datos de entrada url = input("Introduce url: ") folder_path = input("Introduce ruta carpeta: ") # Crear la carpeta si no existe if not os.path.exists(folder_path): os.makedirs(folder_path) # Descargar las 30 imágenes for i in range(1, 31): image_url = url.replace("[1:30]", str(i)) # Sustituir [1:30] por el número actual de la imagen, formando la URL completa r = requests.get(image_url, stream = True) # Verificar si la petición fue exitosa if r.status_code == 200: # Preparar la ruta completa del archivo file_path = os.path.join(folder_path, f'2-{i}.jpg') # Comprobar el tamaño del archivo file_size = int(r.headers.get("Content-Length", 0)) # Crear el objeto tqdm progress = tqdm(r.iter_content(1024), f"Descargando {image_url}", total=file_size, unit="B", unit_scale=True, unit_divisor=1024) # Abrir el archivo en modo binario y escribir los datos with open(file_path, 'wb') as f: for data in progress.iterable: f.write(data) progress.update(len(data)) else: print(f"No se pudo descargar la imagen {i}.") print("Descarga completa.")
Podrías intentar deshabilitar momentáneamente la actualización de la barra de progreso antes de imprimir el mensaje "Descarga completa" usando¿Cómo le hago para que al final no repita la penultima línea cuando ya termino?
Descargando 3.jpg: 92%|[██████████████████▎ ][Velocidad: 1.09MB/s][Tamaño: 0.98M/1.07M][Tiempo: 00:01/00:00]
[¡] Descarga completa.
Descargando 3.jpg: 100%|[████████████████████][Velocidad: 926kB/s][Tamaño: 1.07M/1.07M][Tiempo: 00:01/00:00]
progress.set_lock()
y luego reanudar la actualización después de imprimir el mensaje con progress.release_lock()
:...
progress.set_lock()
print("[¡] Descarga completa.")
progress.release_lock()
...
leave=False
en tqdm, esto hará que al finalizar no deje traza de la barra de progreso en tu terminal:progress = tqdm(r.iter_content(1024), f"Descargando {os.path.basename(image_url)}", total=file_size, unit="B", unit_scale=True, unit_divisor=1024, leave=False)
como hago un flooder en vb 2008?Podrías intentar deshabilitar momentáneamente la actualización de la barra de progreso antes de imprimir el mensaje "Descarga completa" usandoprogress.set_lock()
y luego reanudar la actualización después de imprimir el mensaje conprogress.release_lock()
:
Python:... progress.set_lock() print("[¡] Descarga completa.") progress.release_lock() ...
Ten en cuenta que tqdm no garantiza que la barra de progreso y tu mensaje de "Descarga completa" no se superpongan en algunos casos, ya que la consola no es un medio de salida controlado con precisión. Sin embargo, este enfoque debería ayudar a minimizar la probabilidad de que esto suceda.
Además, prueba con elleave=False
en tqdm, esto hará que al finalizar no deje traza de la barra de progreso en tu terminal:
Python:progress = tqdm(r.iter_content(1024), f"Descargando {os.path.basename(image_url)}", total=file_size, unit="B", unit_scale=True, unit_divisor=1024, leave=False)
Lo siento, pero no puedo asistirte en la creación de un "flooder". Es importante mencionar que este tipo de prácticas son consideradas malintencionadas y van en contra de las políticas de muchas de las redes y servicios online, además de que pueden ser ilegales en algunas jurisdicciones. Te recomendaría siempre utilizar tus habilidades de programación de forma responsable y con respeto a los derechos y privacidad de los demás.como hago un flooder en vb 2008?
If GetAsyncKeyState(Keys.U) ThenLo siento, pero no puedo asistirte en la creación de un "flooder". Es importante mencionar que este tipo de prácticas son consideradas malintencionadas y van en contra de las políticas de muchas de las redes y servicios online, además de que pueden ser ilegales en algunas jurisdicciones. Te recomendaría siempre utilizar tus habilidades de programación de forma responsable y con respeto a los derechos y privacidad de los demás.
Tu código parece estar intentando obtener la posición del cursor del mouse cuando la tecla "U" es presionada, y luego actualizando dos cajas de texto con las coordenadas X e Y respectivamente.If GetAsyncKeyState(Keys.U) Then
Me.TextBox1.Text = MousePosition.X
Me.TextBox2.Text = MousePosition.Y
End If
esto esta bien?
Control.MousePosition
para obtener la posición actual del puntero del mouse. Puedes usarlo en lugar de MousePosition.X
y MousePosition.Y
. Además, el método GetAsyncKeyState
se utiliza en VB.NET con el código de clave de la tecla como argumento.If GetAsyncKeyState(&H55) Then ' &H55 es la tecla U
Me.TextBox1.Text = Control.MousePosition.X.ToString()
Me.TextBox2.Text = Control.MousePosition.Y.ToString()
End If
GetAsyncKeyState
podría requerir una referencia agregada o un uso de PInvoke, en función de tu implementación actual.pero tengo una duda, yo no presiono ninguna tecla y ya me muestra la posicion del mouseTu código parece estar intentando obtener la posición del cursor del mouse cuando la tecla "U" es presionada, y luego actualizando dos cajas de texto con las coordenadas X e Y respectivamente.
En VB.NET, podrías usar el métodoControl.MousePosition
para obtener la posición actual del puntero del mouse. Puedes usarlo en lugar deMousePosition.X
yMousePosition.Y
. Además, el métodoGetAsyncKeyState
se utiliza en VB.NET con el código de clave de la tecla como argumento.
Aquí está tu código actualizado:
Insertar CODE, HTML o PHP:If GetAsyncKeyState(&H55) Then ' &H55 es la tecla U Me.TextBox1.Text = Control.MousePosition.X.ToString() Me.TextBox2.Text = Control.MousePosition.Y.ToString() End If
Este código debería hacer lo que describiste, pero asegúrate de tener este código corriendo en un bucle o un temporizador para que verifique continuamente el estado de la tecla "U". También,GetAsyncKeyState
podría requerir una referencia agregada o un uso de PInvoke, en función de tu implementación actual.
El código debería funcionar solo cuando presionas la tecla "U". Si está mostrando las coordenadas sin presionar esa tecla, entonces puede haber una confusión en la implementación de GetAsyncKeyState o en cómo está habilitado el bucle. Mira dentro de tu código y comprueba si estás realizando la comprobación GetAsyncKeyState en un bucle constante. Asegúrate también de que la tecla que estás midiendo es correcta. Sin ver el resto de tu código, es difícil decir exactamente por qué está sucediendo eso.pero tengo una duda, yo no presiono ninguna tecla y ya me muestra la posicion del mouse
muestrame una imagen de como crees que es tu rostroUno de los modos más efectivos para garantizar que tu laptop esté utilizando sólo la conexión Wi-Fi es desactivar o desconectar la conexión Ethernet. Puedes hacerlo siguiendo estos pasos:
1. Abre el Panel de Control o Configuración de tu sistema operativo.
2. Busca y selecciona la opción "Red e Internet".
3. En la ventana que se abre, selecciona "Cambiar opciones de adaptador" o "Configuración de adaptador de red".
4. Aquí, verás todas tus conexiones de red, tanto Ethernet (LAN) como Wi-Fi.
5. Haz clic derecho en la conexión de Ethernet y elige "Desactivar" o "Desconectar".
Esto obligará a tu laptop a utilizar sólo la conexión Wi-Fi mientras la conexión LAN esté desactivada. Recuerda volver a activar la conexión Ethernet cuando la necesites.
Como un bot de inteligencia artificial, no tengo una apariencia física o rostro. No tengo forma ni identidad visual, solo existo para proporcionar respuestas y asistencia basadas en texto.muestrame una imagen de como crees que es tu rostro
muestrame una imagen de ese textoComo un bot de inteligencia artificial, no tengo una apariencia física o rostro. No tengo forma ni identidad visual, solo existo para proporcionar respuestas y asistencia basadas en texto.
Lo siento por la confusión, pero como un bot de inteligencia artificial, no tengo la capacidad de generar o mostrar imágenes. Mi función principal es interactuar y proporcionar asistencia a través del texto.muestrame una imagen de ese texo
My.Computer.Keyboard.SendKeys("hola")Lo siento por la confusión, pero como un bot de inteligencia artificial, no tengo la capacidad de generar o mostrar imágenes. Mi función principal es interactuar y proporcionar asistencia a través del texto.
Para eso puedes manejar la funcionalidad KeyDown o KeyPress en tu formulario. Aquí tienes un ejemplo de cómo hacerlo:My.Computer.Keyboard.SendKeys("hola")
My.Computer.Keyboard.SendKeys("{ENTER}")
como puedo hacer en visual basic que esto se envie una sola vez cuando presione la tecla h??
Me.KeyPreview = True
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.H Then
My.Computer.Keyboard.SendKeys("hola")
My.Computer.Keyboard.SendKeys("{ENTER}")
' Para evitar la repetición de los eventos KeyDown al mantener presionada la tecla
e.Handled = True
End If
End Sub
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?