Ошибка (объект «Нетип» не имеет атрибута «текст») в проекте web_Scrapping

#python #web-scraping #beautifulsoup

Вопрос:

Я хочу удалить данные из внутренних ссылок, когда я использую этот код, дайте мне (объект «NoneType» не имеет атрибута «текст»)

 #Scrappin data from inner links
#Scrappin salaries
for link in links:
    result = requests.get(link)
    src = result.content
    soup = BeautifulSoup(src, "lxml")
    salaries = soup.find("span" ,{"class":"css-4xky9y"})
    salary.append(salaries.text)
 

дай мне Ошибку

 AttributeError                            Traceback (most recent call last)
<ipython-input-34-43f9a3ba50f1> in <module>
      8     salaries = soup.find("span" ,{"class":"css-4xky9y"})
      9     #print(salaries.text.strip())
---> 10     salary.append(salaries.text.strip())

AttributeError: 'NoneType' object has no attribute 'text'
 

но когда я соскребаю еще один промежуток на той же странице, не выдавайте мне ошибку

 for link in links:
    result = requests.get(link)
    src = result.content
    soup = BeautifulSoup(src, "lxml")
    experienc= soup.find("span" ,{"class":"css-wn0avc"})
    print(experienc.text)
    salary.append(experienc.text)
 

выход:
Необходимый Опыт:
Необходимый Опыт:
Необходимый Опыт:
Необходимый Опыт:
Необходимый Опыт:
Необходимый Опыт:
Необходимый Опыт:

Комментарии:

1. Что это значит, конечно, так это то, что soup.find ничего не нашли. Вы сделали print(src) все, чтобы убедиться, что это выглядит так, как вы думаете? Вы не указали URL-адрес, поэтому мы не можем проверить, является ли это сайтом, созданным на Javascript, или нет. Тебе придется это сделать.

2. Ваш salaries = soup.find(...) звонок ничего не находит и поэтому salaries будет None указывать на это. По сути, вы затем делаете None.text то, что вызывает вашу ошибку. Вам нужно либо проверить None его перед использованием, либо исправить вызов поиска.