[英]Cant use findAll() function
任何人都可以告訴我為什么是錯誤
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()
,我應該使用什么?
您在分配后直接在for
循環中分配product
變量。
附帶說明一下,您應該使用更新的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
以確保變量之間存在區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.