python - 有没有办法修复接受语言或货币?
问题描述
我想问一下如何修复随机货币,因为我正在尝试进行价格检查,但是当我第一次运行它时,它给了我瑞典克朗的货币,几分钟后它给了我不同的货币,我尝试接受语言和它只工作了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)
解决方案
如果您访问该网站,您会发现价格实际上取决于卖家而不是您,因此您使用什么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)
推荐阅读
- python - Selenium:在 find_element_by_partial_link_text() 中使用多个字符串
- javascript - 当光标位于内部 svg 元素上时,d3-zoom 会中断
- video-streaming - 从 html 页面流式传输视频数据
- php - 从函数调用全局动态变量
- python - Python脚本跳过循环
- powershell - Powershell 将 get-physicaldisk 打印到文本文件
- java - Admob 横幅未显示和应用程序崩溃
- python - 编写一个 Python 函数,将给定列表的所有元素(最后一个元素除外)连接成一个字符串并返回该字符串
- jquery - ASP.NET MVC5 捆绑包 如果 Google jqueryUI 使用捆绑包失败,如何回退到我的托管库?
- java - 无法解析特定符号