Невозможно использовать функцию findAll()

может ли кто-нибудь сказать мне, почему возникает ошибка

?
html_content = get_html_content(test)
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(html_content, 'html.parser')
    productDetail = []
    product = soup.findAll("div",{"class":"s-result-item"})
    for pd in product:
        product = pd.find("div",class_="s-impression-counter")
        product_name = product.find('span',class_="a-text-normal").text
        productDetail.append(product_name)
        print(productDetail)

появляется 'NoneType' object has no attribute 'find'

Я знаю, что проблема в переменной product, но если я не могу использовать findAll(), что я должен использовать?

Вы переименовываете переменную product в цикле for непосредственно после ее присвоения.

Примечание: вам следует использовать обновленный метод find_all() - он точно такой же, но соответствует руководству по стилю Python.

Попробуйте вместо этого следующее: -

from bs4 import BeautifulSoup

html_content = get_html_content(test)
soup = BeautifulSoup(html_content, 'html.parser')
productDetail = []
all_products = soup.find_all("div",{"class":"s-result-item"})

for pd in all_products:
    product = pd.find("div",class_="s-impression-counter")
    product_name = product.find('span',class_="a-text-normal").text 
    productDetail.append(product_name)
    print(productDetail)

Обратите внимание, что я изменил вашу первоначальную переменную product на all_products, чтобы обеспечить различие между переменными.

Вернуться на верх