Python错误:find()不接受关键字参数

2024-04-19 05:33:07 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试查找所有时,我得到错误属性错误:

'NavigableString' object has no attribute 'find_all'

    import requests
    from bs4 import BeautifulSoup as bs 

    url = "https://www.gittigidiyor.com/bilgisayar-tablet/huawei-matebook-d-14-amd-53010wpx-dizustu-bilgisayar-laptop_pdp_555531393"

    r = requests.get(url)

    soup = bs(r.content, "lxml")
    data = soup.find("div", attrs = {"class":"gg-w-24 gg-d-24 gg-t-24 gg-m-24 padding-none-m"})

    for i in data:
        price = i.find("div", attrs = {"id":"sp-price-lowPrice"})
        print(price.text)

Tags: importdivurldatabs属性错误find
1条回答
网友
1楼 · 发布于 2024-04-19 05:33:07

该页面上只有一个项目的类别为“gg-w-24 gg-d-24 gg-t-24 gg-m-24 padding-none-m”,只有一个项目的id为“sp price LOWPICE”。因此,为什么不干脆做:

price = soup.find("div", attrs = {"id":"sp-price-lowPrice"})

如果您确实希望多个项目具有“gg-w-24 gg-d-24 gg-t-24 gg-m-24 padding-none-m”,则将数据修改为:

data = soup.find_all("div", attrs = {"class":"gg-w-24 gg-d-24 gg-t-24 gg-m-24 padding-none-m"})
# for i in data: 
#... rest of your code here

相关问题 更多 >