@oneZe

Как парсить историю продаж Steam?

Пишу парсер торговой площадки steam. Нашел запрос который возвращает масивный список json с историей продаж предмета за весь период времени. Как можно вытащить из данного масива, данные за определённый промежуток времени, месяц, неделя или за определенную дату?
import steam.webauth as wa
user = wa.WebAuth('login')
session = user.cli_login('password')
session.get('https://store.steampowered.com/account/history')

link = 'https://steamcommunity.com/market/pricehistory/?country=DE&currency=3&appid=440&market_hash_name=Specialized%20Killstreak%20Brass%20Beast'

resp = session.get(link)
result = resp.json()
print(result)


Ответ:
{'success': True, 'price_prefix': '$', 'price_suffix': '', 'prices': [['Nov 27 2013 01: +0', 16.99, '1'], ['Nov 29 2013 01: +0', 17.205, '2'],.....
  • Вопрос задан
  • 804 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Если просто - то можно просто вписывать дату начала и конца, и дальше перебором все вывести

start = 'May 29 2014'
end = 'Nov 07 2014'

is_found = False

for data in resp['prices']:
    if data[0].startswith(start):
        is_found = True

    elif data[0].startswith(end):
        is_found = False
        break

    if is_found:
        print(data[1])


Если по сложному - импортируем datetime, преобразовываем дату в datetime объект, и точно так же итерируем через список, при этом сравнивая объекты даты нужными кусками
from datetime import datetime

start = datetime.strptime('May 29 2014', '%b %d %Y')
end = datetime.strptime('Nov 07 2014', '%b %d %Y')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@12rbah
Как можно вытащить из данного масива, данные за определённый промежуток времени, месяц, неделя или за определенную дату?
Передвигаетесь по
элементам массива и каждого проверяете дату, если она входит в промежуток, то берете нужную информации из элемента, если нет, то идете дальше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы