Python错误-属性错误:“int”对象没有属性“find”

7d7tgy0s  于 2023-02-10  发布在  Python
关注(0)|答案(1)|浏览(246)

=====功能代码=====
(略)

contents = soup.find('table').find_all('a')

for i in contents:            
        print("---------------------------")
        link = i.find("td", class_= "cafecoffee").find_all("a")[0]
        print("link :")
        print("naver.com" + link)

        title = i.find("td")
        print("title:",title.text)

=====非功能代码=====
(略)

contents = soup.find('table').find_all('a')

for i in range(1,52): # <<<<changed
        print("---------------------------")
        link = i.find("td", class_= "cafecoffee").find_all("a")[0]
        print("link :")
        print("naver.com" + link)

        title = i.find("td")
        print("title:",title.text)

我不知道是什么问题,前辈们能帮帮我吗?
我还没试过呢。我学这门语言才一个小时。

nqwrtyyt

nqwrtyyt1#

  • 属性错误:'int'对象没有属性'find'*告诉你问题到底是什么:
    “int”对象没有属性“find”。

现在你可以问自己这个问题,你不理解这个陈述中的哪个单词,并试着为这个单词找到一个定义。是你不理解的object吗?是attribute吗?是has no吗?是int吗?还是find
作为一个初学者,值得了解命名所用变量的重要性。
例如,名称i通常表示整数值(0,1,2,3,...),名称s表示字符串值('0',' 1','2',' 3',...)。选择一个名称,而不是表示该名称的变量实际存储的内容,很容易导致混淆。

for i in contents:

使i成为一个特殊的值,它是可迭代的contents中的一个项。这样的项(通常称为“object”)是.find()方法附带的,所以使用它是可以的,但是...... i暗示了一个整数值,这可能是将for循环更改为的原因:

for i in range(1,52):

并期望它能以同样的方式工作,但事实并非如此,变量i现在存储了一个整数值,而整数值并不随.find()方法而来。

相关问题