Python TypeError:切片索引必须是整数或无,或者具有_uindex_;方法

2024-10-02 12:33:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图提取一些数据,我有一个函数,可以在返回后获取数组中的所有标记

我的代码:

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

但是,当我使用我在函数内部和外部使用的代码时,它就工作了。但当我尝试用函数调用代码时,它会给我错误


Tags: 代码nameindivfontsfindclasssk

热门问题