-
-
Save pojomi/9537b5448dc2b6b02ca8b9d32d16e577 to your computer and use it in GitHub Desktop.
import urllib.parse as parse | |
import urllib.request | |
from urllib.request import urlopen as req_url | |
import json | |
import string | |
import webbrowser | |
# Search API for most recent average price scrape | |
def warframe(): | |
print("Search for an item") | |
search = input() | |
print("Searching for " + string.capwords(search) + "...") | |
main_url = req_url('https://api.warframe.market/v1/items/' + search.replace(' ', '_') + '/statistics') | |
data = main_url.read() | |
parsed = json.loads(data) | |
parsed_data = parsed['payload']['statistics']['48hours'][-1]['min_price'] | |
date_time = parsed['payload']['statistics']['48hours'][-1]['datetime'] | |
print(string.capwords(search) + " minimum price is " + str(parsed_data) + " platinum as of " + date_time) | |
# Request to open search on warframe.market | |
def browser_open(): | |
print('Would you like to buy/sell ' + string.capwords(search) + "? y/n") | |
browser_answer = input() | |
if browser_answer == "y": | |
webbrowser.open_new('https://warframe.market/items/' + search.replace(' ', '_')) | |
#if browser_answer == "n": | |
browser_open() | |
# Restart the script | |
def restart_script(): | |
print('Start a new search? y/n') | |
answer = input() | |
if answer == "y": | |
warframe() | |
if answer == "n": | |
print('Goodbye') | |
restart_script() | |
warframe() | |
Excuse me, don't work for me :/
warframe()
Search for an item
frost prime
Searching for Frost Prime...
Traceback (most recent call last):
File "", line 1, in
warframe()
File "C:\Users\roman.spyder-py3\TestWarframe.py", line 14, in warframe
main_url = req_url('https://api.warframe.market/v1/items/' + search.replace(' ', '_') + '/statistics')
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 222, in urlopen
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 531, in open
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 641, in http_response
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 563, in error
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 503, in _call_chain
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 755, in http_error_302
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 531, in open
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 641, in http_response
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 569, in error
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 503, in _call_chain
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\request.py", line 649, in http_error_default
HTTPError: Forbidden
Same Problem here. The API responds with an forbidden. As far as i know the API doesn't allow a call to the statistics. At least there's nothing in the documentation stating it.
look like the API changed a bit since this was build, back then I wanted a discord bot that can help. Lol
Since the API changed all you need to replace are these lines:
main_url = req_url('https://api.warframe.market/v1/items/' + search.replace(' ', '_') + '/orders')
data = main_url.read()
parsed = json.loads(data)
parsed_data = parsed['payload']['orders'][-1]['platinum']
date_time = parsed['payload']['orders'][-1]['last_update']
I tested it and it should work fine
hello i have a little probleme: