@Davidd2008

Не работает split в python, что делать?

У меня есть код:
import requests
from bs4 import BeautifulSoup

url = f'https://www.kufar.by/l/r~minsk/sistemnye-bloki'
responce = requests.get(url).text
soup = BeautifulSoup(responce, "lxml")

pc = soup.find_all("a", class_="kf-aYRc-91bed")

for i in pc:
    print(i)



в данном случае:
i = <a class="kf-aYRc-91bed" href="https://www.kufar.by/item/144054676" target="_blank"><div class="kf-aYRn-21906"><img alt="Компьютер Intel Core i3-8100  8GB  SSD" class="kf-aYEN-8bb5a lazyload" data-src="https://yams.kufar.by/api/v1/kufar-ads/images/77/7701247529.jpg?rule=list_thumbs"/><div class="kf-ahmS-8e3b8"><span>Сегодня, 11:01</span></div><div class="kf-aYRU-6dc94"></div><div class="kf-aYRk-f86f4"></div></div><div class="kf-aYRB-5ae40"><div><h3 class="kf-aYoS-c30ed">Компьютер Intel Core i3-8100  8GB  SSD</h3><div class="kf-aYRX-aacef">Intel core i3, 8 гб, ssd, новое</div></div><div><div class="kf-aMmR-1748d"><span class="kf-aMmm-47851">860 р.</span></div><div class="kf-aYRY-b935e"><div class="kf-aYRC-d196b"></div><div class="kf-aHaN-c983e kf-aHqJ-00e8e"><span>Доставка по Беларуси・Рассрочка</span></div><div class="kf-ahmT-434fc"><span>Сегодня, 11:01</span></div></div></div></div></a>


И мне надо получить текст после "alt=" и до class="kf-aYEN-8bb5a" я придумал делать это все через split.
Я сделал вот такую функцию:

def spliits(i):
    splits = i.split("alt=")
    name = splits[1]
    splits2 = name.split('class="kf-aY')
    name = splits2[0]
    return name<code lang="python">

print(spliits(i))
</code>


Если создать новый файл и сделать там переменную i которую я писал выше то функция сработает, но если я пытаюсь Вызвать в основном коде после print(i) то почему-то мне вылазит вот эта ошибка:

Traceback (most recent call last):
File "path", line 19, in
spliits(i)
File "path", line 11, in spliits
splits = i.split("alt=")
TypeError: 'NoneType' object is not callable


Почему????
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
for img in soup.select('div.kf-aYRn-21906 > img'):
    if 'alt' in img:
        print(img['alt'])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы