有没有办法修复接受语言或货币?

时间:2021-05-18 15:54:57

标签: python web-scraping beautifulsoup currency http-accept-language

我想问一下如何修复随机货币,因为我正在尝试制作价格检查器,但是当我第一次运行它时,它给了我瑞典克朗的货币,几分钟后它给了我不同的货币,我尝试接受语言,它只工作了 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)

1 个答案:

答案 0 :(得分:0)

如果您访问该网站,您会发现价格实际上取决于卖家而不是您,因此您使用的 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)