簡體   English   中英

不能使用 findAll() 函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM