Python 使用BeautifulSoup查找产品名称

Python 使用BeautifulSoup查找产品名称,python,beautifulsoup,Python,Beautifulsoup,我在从网站上提取产品名称时遇到问题, 这是我正在使用的代码- title = product.find('div', {'class': 'product-name'}).text 以下是此特定项目的站点源代码: 编辑: 返回: title = product.find('a', {'class': 'name-link'}).text AttributeError: 'NoneType' object has no attribute 'text' 还有一个内部a标记: title =

我在从网站上提取产品名称时遇到问题, 这是我正在使用的代码-

title = product.find('div', {'class': 'product-name'}).text
以下是此特定项目的站点源代码:


编辑:

返回:

title = product.find('a', {'class': 'name-link'}).text
AttributeError: 'NoneType' object has no attribute 'text'

还有一个内部a标记:

title = product.find('div', {'class': 'product-name'}).a.text

还有一个内部a标记:

title = product.find('div', {'class': 'product-name'}).a.text

您想要的文本似乎是记录的一部分,而不是外部。我不确定你的
产品是什么,因为你没有向我们展示。这一行可能会代替您显示的行:

title = product.find('a', {'class': 'name-link'}).text
结果:

Nike DBreak-Type "Iron Grey" Men's Shoe

啊哈…我只是在发布我的答案后才看到@WasifHasan的答案。这也行:)。你选吧。

你想要的文本似乎是记录的一部分,而不是外部。我不确定你的
产品是什么,因为你没有向我们展示。这一行可能会代替您显示的行:

title = product.find('a', {'class': 'name-link'}).text
结果:

Nike DBreak-Type "Iron Grey" Men's Shoe


啊哈…我只是在发布我的答案后才看到@WasifHasan的答案。这也行:)。请选择。

如果信息是可以作为格式化文本直接包含在问题中的文本信息,请不要将其作为屏幕截图提供,尤其是这样的代码。为您更新。至少有一个
  • 元素没有
    。另外,我建议您像这样编写bs4代码
    product.find('a',class='name-link')。get_text()
    如果是可以作为格式化文本直接包含在问题中的文本信息,请不要以屏幕截图的形式提供信息,特别是这样的代码。已为您更新。至少有一个
  • 元素没有
    。此外,我还建议您像这样编写bs4代码。find('a',class='name-link')。get_text()
    我尝试了一下,得到了错误
    title=soup.find('a',{'class':'name link'))。文本文件“C:\Users\Luke\AppData\Local\Programs\Python\Python37\lib\site packages\bs4\element.py”,第1756行,在find l=self.find\all中(名称、属性、递归、文本、1、**kwargs)AttributeError:'str'对象没有属性'find_all'
    Hmmm…我实际上运行了代码来测试它。-我打赌我的是错误的,然后考虑到你的
    产品是什么。
    对象。如果Wasif的答案对你有效,我希望它会对你有效。我不是BS专家。哦,该死……我没有将“汤”改为“产品”,即使你有“产品”。事实上,是的!试试看。将
    soup
    更改为
    product
    ,可能会奏效!好的,这次它设法找到了产品,但没有找到标题。我将更新代码,以便您可以看到我可能做错了什么。为您更新我尝试了此操作,得到了错误
    title=soup.find('a',{class':'name link')。文本文件“C:\Users\Luke\AppData\Local\Programs\Python37\lib\site packages\bs4\element.py”,第1756行,在find l=self.find_all(名称、属性、递归、文本、1、**kwargs)中AttributeError:'str'对象没有属性'find_all'
    Hmmm…我实际上运行了代码来测试它。-我打赌我的是错误的,然后考虑到你的
    产品是什么。
    对象。如果Wasif的答案对你有效,我希望它会对你有效。我不是BS专家。哦,该死……我没有将“汤”改为“产品”,即使你有“产品”。事实上,是的!试试看。将
    soup
    更改为
    product
    ,可能会奏效!好的,这次它设法找到了产品,但没有找到标题。我将更新代码,以便您可以看到我可能犯了其他错误。为您更新了我尝试过的内容,但出现了以下错误:/
    title=product.find('div',{class':'product name')).a.text AttributeError:“非类型”对象没有属性“a”
    也可以尝试使用
    findall
    。像这样?
    title=product.findall('div',{'class':'product name'))。a.text
    是也可以尝试
    title=product.findall('div',{'class':'product name')).a.text-TypeError:'NoneType'对象不可调用
    我更新了上面的代码,以便您可以看到更多的代码,我不确定这是否会有帮助。谢谢,我尝试了并得到了此错误:/
    title=product.find('div',{'class':'product name')).a.text AttributeError:“非类型”对象没有属性“a”
    也可以尝试使用
    findall
    。像这样?
    title=product.findall('div',{'class':'product name'))。a.text
    是也可以尝试
    title=product.findall('div',{'class':'product name')).a.text TypeError:“NoneType”对象不可调用
    我更新了上面的代码,以便您可以看到更多内容,我不确定这是否有帮助。