首页 > 解决方案 > BeautifulSoup:数字问题

问题描述

我的代码遇到了一些麻烦。问题是我正在为一个网站提取价格,其中一些价格包括原始价格和折扣价格,而我想要得到的只是折扣价格。我如何解决它?

import requests
from bs4 import BeautifulSoup

search_url = "https://store.steampowered.com/search/?sort_by=Price_ASC&category1=998%2C996&category2=29"
category1 = ('998', '996')
category2 = '29'

params = {
    'sort_by': 'Price_ASC',
    'category1': ','.join(category1),
    'category2': category2,
}

response = requests.get(
    search_url,
    params=params
)

soup = BeautifulSoup(response.text, "html.parser")
elms = soup.find_all("span", {"class": "title"})
prcs = soup.find_all("div",{"class": "col search_price discounted responsive_secondrow"})
for elm in elms: 
    print(elm.text)
for prc in prcs:
    print(prc.text)

标签: pythonbeautifulsoup

解决方案


使用next_sibling

prcs = soup.find_all("div",{"class": "col search_price discounted responsive_secondrow"})

for p in prcs:
    print(p.find('span').next_sibling.next)

推荐阅读