Go через API. Я считаю, что это уже не включает проданные предметы:
from bs4 import BeautifulSoup
import requests
import re
import math
import time
print("Fetching Data")
with requests.Session() as s:
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
s.get('https://steamcommunity.com/')
cookiesDict = s.cookies.get_dict()
headers.update({'Cookie':'sessionid=' + cookiesDict['sessionid']})
url = 'https://steamcommunity.com/market/listings/730/AWP%20%7C%20Atheris%20%28Field-Tested%29/render/'
payload = {
'query':'',
'start': '0',
'count': '100',
'country': 'US',
'language': 'english',
'currency': '1'}
results = {}
jsonData = s.get(url, params=payload, headers=headers).json()
total_count = jsonData['total_count']
total_pages = math.ceil(total_count/100)
for page in range(0,total_pages):
#page=1
time.sleep(5)
payload = {
'query':'',
'start': '%s' %(page*100),
'count': '100',
'country': 'US',
'language': 'english',
'currency': '1'}
jsonData = s.get(url, params=payload, headers=headers).json()
results.update(jsonData['listinginfo'])
print ('Aquired page %s of %s...' %(page, total_pages))
for k, v in results.items():
price = (v['converted_price'] + v['converted_fee']) / 100
link = v['asset']['market_actions'][0]['link']
print('PRICE : $%.02f %s' %(price, link))
Вывод:
....
PRICE : $4.64 steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D2353320232219212327
PRICE : $4.64 steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D5237312699887394313
PRICE : $4.64 steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D17060803922484197923
PRICE : $4.64 steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D3054184006200365805
PRICE : $4.64 steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M%listingid%A%assetid%D5237312699887394313
....