即使解析器已提取,也无法在html中找到特定标签

问题描述 投票:0回答:1

[我正在尝试使用python从其中一个网站上抓取数据。我正在尝试获取一些数据,即使脚本正在获取指定的HTML标签它无法在其中找到一些标签。不知道可能是什么问题。

这里是代码

soup = bs(driver.page_source, 'lxml')
rows = soup.find('div', id='widgetContent').find_all('div', recursive=False)

for row in rows:
        price = row.find('span', class_='a-size-medium inlineBlock unitLineHeight dealPriceText').text

错误:

Traceback (most recent call last):
  File "C:/Users/I354822/PycharmProjects/Python Practice/Amazon Text Exracting.py", line 40, in <module>
    price = row.find('span', class_='a-size-medium inlineBlock unitLineHeight dealPriceText').text
AttributeError: 'NoneType' object has no attribute 'text'

但是我单独打印了,在这里可以找到此标签。

有人可以帮我吗。

python html web-scraping tags
1个回答
0
投票

首先检查类span是否存在该项目,然后尝试检索text属性。对于必需的div中的某些元素,span元素可能不存在,这会导致上述错误

尝试下面的代码行:

rows = soup.find('div', id='widgetContent').find_all('div', recursive=True)
for row in rows:
        item = row.find('span', class_='a-size-medium inlineBlock unitLineHeight dealPriceText')
        if item:
            print(item.text) 

© www.soinside.com 2019 - 2024. All rights reserved.