Print返回none,即使没有

2024-10-04 09:29:59 发布

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

嘿,我正试图抓取一个网站来定价。它返回[],即使在搜索页面上它的值为$79.99。我只希望它从搜索页面中获取第一个价格。我似乎不知道我做错了什么

bburl = "https://www.ebgames.ca/SearchResult/QuickSearch?q=animal+crossing"

def bestbuy():
    proxies = get_proxy()
    result = requests.get(bburl,headers=header,timeout=12,proxies=proxies)
    soup = BeautifulSoup(result.content, 'lxml')

    titles = soup.title
    price = soup.find_all('span',attrs={'class':'megaButton buyTier3 cartAddNoRadio'})

    print(titles)
    print(price)

它返回这个

<title>EB Games | The largest video game retailer in Canada. Play. Trade. Save.  - EBGames.ca </title>
[]

Tags: gettitle网站价格页面resultpriceca
1条回答
网友
1楼 · 发布于 2024-10-04 09:29:59

megaButton buyTier3 cartAddNoRadio位于a标记中,而不是span。 要仅获取第一个元素,请使用.find()而不是find_all()

import requests
from bs4 import BeautifulSoup

bburl = "https://www.ebgames.ca/SearchResult/QuickSearch?q=animal+crossing"

def bestbuy():
    result = requests.get(bburl)
    soup = BeautifulSoup(result.content, 'lxml')

    price = soup.find('a',attrs={'class': 'megaButton buyTier3 cartAddNoRadio'})

    print(price.get_text(strip=True, separator=' '))


bestbuy()

产出:

New $79.99

相关问题 更多 >