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>
[]
解决方案
该类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
推荐阅读
- c++ - 如何制作文件中所有不同单词的字母顺序列表以及每个单词的使用次数?
- rust - 有没有办法制作一个包含自身向量的特征?
- mongodb - 连接到不同命名空间中的 Kubernetes mongo db
- jquery - 无限重复而不返回的图像滑块
- html - 引导输入组前置/插件宽度调整
- spring-boot - JSP页面未在SpringBoot应用程序中呈现
- css - ReferenceError: 窗口未定义导入 css
- mysql - Mysql2::Error "Access denied for user" 在 database.yml 中使用 env 变量
- angular - 通过 getElementById 以编程方式单击 mat-checkbox
- django-queryset - 2个值之间的查询集过滤器带有外键?