gpt4 book ai didi

python - BeautifulSoup - 'NoneType' 对象没有属性 'getText'

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:41 24 4
gpt4 key购买 nike

我正在使用 BeautifulSoup 获取二手 Iphone7 智能手机的价格信息。在我使用 bs4 库获取相关的 html 并使用 BeautifulSoup 创建一个名为“soup”的对象后,我使用以下代码搜索每个产品的信息:

soup = BeautifulSoup(html,'html5lib')
products = soup.find_all('div', class_='feed-item sc-gqjmRU igneJk')

这确实为我提供了关于每个产品的正确 html 信息。现在我更深入地查看每个产品的描述:

descriptions = [x.find('p', class_='sc-kAzzGY kZncUf') for x in products]

上面给出的代码工作正常。然而这不是我想要的描述。这是我正在寻找的一种相当粗糙的形式。为了只获得我提到的描述,我需要写这样的东西(需要添加 .getText()):

descriptions = [x.find('p', class_='sc-kAzzGY kZncUf').getText() for x in products]

这给了我以下错误:

----> 1 descriptions = [x.find('p', class_='sc-kAzzGY kZncUf').getText() for x in products]

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

但是,下面的代码可以正常工作:

descriptions = [x.find('p', class_='sc-kAzzGY kZncUf') for x in products]
descriptions[0].getText()

descriptions[0] 应该与我们从第一次迭代中获得的 x.find('p', class_='sc-kAzzGY kZncUf') 的值相同。

我的问题是:既然它们应该给出相同的值(x.find 和 description[0]),为什么一个给出错误而另一个有效?

提前致谢

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com