Python TypeError: индексы срезов должны быть целыми или None или иметь метод __index__ - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь получить некоторые данные, у меня есть функция для получения всех тегов в массиве после того, как я его верну.

Мой код:

def getfontCats(soup):
    cats_name = soup.find("div", {"class": ["fontTagsMain"]}).find_all("a")
    cat_list = []
    for cats in cats_name:
        cat_list.append(cats.get_text())

    return cat_list


for sk in set(getListing(soup)):
    print(sk)
    print(getfontCats(sk))
    print("###################################################")
    time.sleep(1)

HTML Содержание (Суп):

<div class="fontTagsMain">
<a href="/animal-fonts.php" class="fontTag">Animal</a><a href="/comic-cartoon-fonts.php" class="fontTag">Comic Cartoon</a><a href="/cartoon-fonts.php" class="fontTag">Cartoon</a><a href="/comic-fonts.php" class="fontTag">Comic</a><a href="/fun-fonts.php" class="fontTag">Fun</a><a href="/funny-fonts.php" class="fontTag">Funny</a><a href="/comic-book-fonts.php" class="fontTag">Comic Book</a> </div>

Вывод:

Traceback (most recent call last):
  File "/Users/evilslab/Documents/Websites/www.futurepoint.dev.cc/dobuyme/socket/fonts.py", line 109, in <module>
    print(getfontCats(sk))
  File "/Users/evilslab/Documents/Websites/www.futurepoint.dev.cc/dobuyme/socket/fonts.py", line 40, in getfontCats
    cats_name = soup.find("div", {"class": ["fontTagsMain"]}).find_all("a")
TypeError: slice indices must be integers or None or have an __index__ method

Но это работает, когда я использую код, который я использовал внутри функции снаружи. Но когда я пытаюсь вызвать код с помощью функции, это выдает мне ошибку.

1 Ответ

0 голосов
/ 20 марта 2020

Да исправлено. Извините, я инициализировал суп в функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...