Невозможно использовать функцию 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
, чтобы обеспечить различие между переменными.