es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo asignar el resultado de una solicitud de Beautiful Soup a un arreglo?

Quiero tener un array urls[] para poder verificar y eliminar duplicados. Mi código actual se ve así:

match2 = soup.find_all("a", href=True, target="_blank");
for match2 in match2:
if match2['href'][0] == ".":
imageUrl = url.split("/")[2] + "/" + url.split("/")[3] + "/src/" + match2['href'].split("/")[-1];
urls = [];
urls.append(imageUrl);
print("array");
for i in urls:
print(i);

Pero cuando ejecuto el código, solo hay un elemento en urls[] cuando debería haber más. ¿Cómo puedo asignar los resultados de match2 a un array?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para asignar los resultados de match2 a un arreglo, debes mover la inicialización urls=[] antes del ciclo for, de lo contrario, se reiniciará y se vaciará en cada iteración de match2. Aquí está el código actualizado:

    match2 = soup.find_all("a", href=True, target="_blank")
    urls = []
    for match in match2:
        if match['href'][0] == ".":
            imageUrl = url.split("/")[2] + "/" + url.split("/")[3] + "/src/" + match['href'].split("/")[-1]
            urls.append(imageUrl)
    
    print("arreglo")
    for i in urls:
        print(i)
    

    De esta forma, cada imageUrl se agregará al arreglo urls, y luego podrás imprimir todos los elementos del arreglo usando el ciclo for al final.

Comments are closed.