AttributeError: el objeto 'NoneType' no tiene atributo 'Text' en Python

Shihab Sikder 21 junio 2023
AttributeError: el objeto 'NoneType' no tiene atributo 'Text' en Python

Este error ocurre cuando intenta llamar a un método desde un objeto que es Ninguno o no está iniciado. Antes de llamar a un método, debe verificar si el objeto es Ninguno o no para eliminar este error; después de eso, llame al método deseado.

AttributeError es una excepción que obtienes cuando llamas al atributo, pero no es compatible ni está presente en la definición de la clase.

Causas y soluciones del AttributeError: el objeto 'NoneType' no tiene atributo 'text' en Python

Este error es común cuando se realiza web scraping o análisis XML. Durante el análisis, obtendrá este error si obtiene datos no estructurados.

Aquí hay algunas razones más:

  1. Datos que JavaScript representó dinámicamente.
  2. Raspado de varias páginas con los mismos datos.
  3. Mientras analiza XML, si el nodo que está buscando no está presente.

Estas son las soluciones comunes que puede intentar para deshacerse del error:

  1. Compruebe si el elemento existe antes de llamar a cualquier atributo del mismo.
  2. Verificar la respuesta a la solicitud.

un código de ejemplo

Como este error a menudo proviene del web scraping, veamos un ejemplo de web scraping. Intentaremos obtener el título del sitio web de StackOverflow con nuestro script de Python.

Aquí está el código:

from bs4 import BeautifulSoup as bs
import requests

url = "https://www.stackoverflow.com/"

html_content = requests.get(url).text
soup = bs(html_content, "html.parser")

if soup.find("title").text is not None:
    print(soup.find("title").text)

Producción :

Stack Overflow - Where Developers Learn, Share, & Build Careers

Aquí, notará que la condición if que usamos es “no es ninguno” para asegurarnos de que estamos llamando a un método existente. Ahora, no mostrará ningún error como el AttributeError.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Artículo relacionado - Python Error

Artículo relacionado - Python AttributeError