首页 > 解决方案 > 有没有办法修复接受语言或货币?

问题描述

我想问一下如何修复随机货币,因为我正在尝试进行价格检查,但是当我第一次运行它时,它给了我瑞典克朗的货币,几分钟后它给了我不同的货币,我尝试接受语言和它只工作了10分钟,然后它一次又一次地改变了有什么办法可以解决吗?有代码

from bs4 import BeautifulSoup
import requests

url = "https://steamcommunity.com/market/listings/730/USP-S%20%7C%20Blueprint%20%28Factory%20New%29"
headers = {"Accept-Language": "en-US,en;q=0.5"}
r = requests.get(url, headers=headers)
html_text = requests .get('https://steamcommunity.com/market/listings/730/USP-S%20%7C%20Blueprint%20%28Factory%20New%29').text
soup = BeautifulSoup(html_text, 'lxml')
skin_name = soup.find('span', class_ = 'market_listing_item_name').text
sm = soup.find('span', class_ = 'market_listing_price').text.replace('                      ','SM ')
print(skin_name, sm)

标签: pythonweb-scrapingbeautifulsoupcurrencyhttp-accept-language

解决方案


如果您访问该网站,您会发现价格实际上取决于卖家而不是您,因此您使用什么headers(包括Accept-language)并不重要。

其次,你使用soup.find的只是返回第一次出现,所以它主要取决于你会发现什么。

我建议您使用soup.find_all并遍历它以找到以美元为单位的第一个价格。

sm_list = soup.find_all('span', class_ = 'market_listing_price')
for element in sm_list:
    if 'USD' in element.text:
        sm = element.text.replace('                      ','SM ')
print(skin_name, sm)

推荐阅读