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.

La web scraping de Spotify con Beautifulsoup muestra AttributeError: el objeto NoneType no tiene el atributo ‘findAll’.

El código que tengo es demasiado largo para publicarlo aquí. ¿Qué escenarios generales podrían provocar este AttributeError, qué se supone que significa NoneType y cómo puedo solucionar este error? He publicado la imagen del código por conveniencia.

La parte del código antes del error:

def get_countries():
    page = requests.get('https://spotifycharts.com/regional')
    soup = bs(page.content, 'html.parser')
    countries = []
    ctys = soup.find('ul').findAll("li")
    for cty in ctys:
        countries.append([cty["data-value"],cty.get_text()])
    return(countries)

def scrape_data():
    countries = get_countries()
    for country in countries:
        save_data(country)

scrape_data()

Este código devuelve el error AttributeError: el objeto ‘NoneType’ no tiene el atributo ‘findAll’.

Códigos de error

Lo siento, soy nuevo en todo esto. Ejecuto este código solo para obtener el conjunto de datos para mi proyecto. No tengo experiencia alguna en web scraping.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error de AttributeError ‘NoneType’ object has no attribute ‘findAll’ suele ocurrir cuando la función o método no puede encontrar el elemento HTML que está buscando. En este escenario, es probable que el elemento ul no esté presente en el contenido HTML de la URL de la página proporcionada.

    El objeto NoneType en Python generalmente se refiere a un valor nulo o vacío, lo que indica que el objeto devuelto por el método o función no es válido o no existe.

    Para solucionar este error, comprueba si el elemento HTML que estás buscando existe en el contenido de la página imprimiendo el objeto soup después de haber sido instanciado. También puedes validar si la URL solicitada existe y devuelve un contenido HTML válido.

    Si el problema persiste, intenta utilizar un método o enfoque diferente para localizar el elemento deseado, o considera buscar la ayuda de un especialista en web scraping.

Comments are closed.