Giter VIP home page Giter VIP logo

steam-market's Introduction

Steam Market

Build status Code coverage Code Quality

This repository contains Python code to find arbitrages on the Steam Market.

Cover: ranking of market arbitrages

Arbitrages could consist in:

  • purchasing gems to craft booster packs, which are then immediately sold for more than their crafting cost,
  • purchasing items, typically foil cards, which are then immediately turned into more gems than they are worth,
  • purchasing games in order to produce the corresponding booster packs, with profit greater than the game price,
  • turning normal cards into badges, based on the expected value, to create items worth more than the badge cost.

Requirements

  • Install the latest version of Python 3.X (at least version 3.12).
  • Install the required packages:
pip install -r requirements.txt

Data acquisition

Cookie

To relax the rate limits enforced by Steam API, fill in your cookie information in a file called personal_info.json:

How to fill in your cookie information

  1. To do so, make sure you are connected to your Steam account on a Steam Community page, e.g. Steam Market.
    steam community

  2. Press <Shift-F9> in your web browser to access the storage section of the developer tools.
    storage section

  3. Use the filtering option (in the top right of the storage section) to find the cookie value for steamLoginSecure.
    filter for steamLoginSecure

  4. Copy-paste this cookie value into a new file called personal_info.json, which will be read by src/personal_info.py.

    {
      "steamLoginSecure": "PASTE_YOUR_COOKIE_VALUE_HERE"
    }  

NB: In the future, if you notice that the program bugs out due to seemingly very strict rate limits, then it may be a sign that the cookie value tied to your session has changed. In this case, try to fill in your cookie information with its new value.

NB²: If you want to automate the creation and sale of booster packs, you may need:

  1. to have a mobile authenticator app running in the background and auto-confirming market transactions,
  2. to fill in more cookie information. I have been using the following entries, but you might not need to use all of them. Except for browserid, values need to be updated from time to time.
    {
      "browserid": "PASTE_YOUR_COOKIE_VALUE_HERE",
      "steamDidLoginRefresh": "PASTE_YOUR_COOKIE_VALUE_HERE",
      "sessionid": "PASTE_YOUR_COOKIE_VALUE_HERE",
      "steamLoginSecure": "PASTE_YOUR_COOKIE_VALUE_HERE"
    }

Gem cost for crafting Booster Packs

To have access to the gem cost for crafting Booster Packs, you will need to manually copy information available here.

How to list craftable packs with the Booster Creation webpage

  1. Press <Ctrl-U> to display the HTML code of the Booster Creation webpage.

  2. At the end of the HTML code, find and copy the line below CBoosterCreatorPage.Init:
    javascript list of games

  3. Paste the line to data/booster_game_creator_from_javascript.txt.

  4. Strip mentions of packs unavailable because they were crafted less than 24 hours ago. For instance:

    {"appid":996580,"name":"Spyro\u2122 Reignited Trilogy","series":1,"price":"400",
    "unavailable":true,"available_at_time":"4 Sep @ 7:06pm"}

    should be replaced with:

    {"appid":996580,"name":"Spyro\u2122 Reignited Trilogy","series":1,"price":"400"}

To do so, with Visual Studio Code, press <Ctrl-H> and remove occurrences of :
Visual Studio Code: remove mentions of unavailability

,"unavailable":true,"available_at_time":"[\w ]*@[\w :]*"

Usage

  • To look for games which i) have high bids for their booster packs, and ii) which I may not own yet, run:
python market_buzz_detector.py
  • To look for potentially profitable gambles on profile backgrounds and emoticons of "Common" rarity, run:
python market_gamble_detector.py
  • To find market arbitrages, e.g. sell a pack for more (fee excluded) than the cost to craft it (fee included), run:
python market_arbitrage.py
  • To find market arbitrages with foil cards, e.g. buy a foil card to turn it into more gems than its cost, run:
python market_arbitrage_with_foil_cards.py

Caveat: make sure to manually check the goo value of cards with a tool such as this bookmarklet. Indeed, if an arbitrage with foil cards looks too good to be true, it is likely that the goo value was bugged, because of a wrong item type. It can happen for instance if the goo value actually corresponds to emoticon or a profile background, and was then multiplied by 10 to get the value of the non-existent "foil" version of this emoticon or profile background.

javascript:var a=g_rgAssets[Object.keys(g_rgAssets)[0]],b=a[Object.keys(a)[0]],c=b[Object.keys(b)[0]],gem_action=c.owner_actions&&c.owner_actions.filter(function(d){return/javascript:GetGooValue/.test(d.link)})[0];if(gem_action){var matches=gem_action.link.match(/javascript:GetGooValue\( '%contextid%', '%assetid%', (\d+), (\d+), \d+ \)/);fetch("https://steamcommunity.com/auction/ajaxgetgoovalueforitemtype/?appid="+matches[1]+"&item_type="+matches[2]+"&border_color=0").then(function(d){return d.json()}).then(function(d){alert("This is worth "+d.goo_value+" gems")})["catch"](function(d){return console.error(d)})}else alert("This is worth 0 gems");

Caveat²: the bookmarklet linked above does not account for foil versions, so you should multiply by 10 the goo value if you are interested in foil cards. You can check by yourself that the bookmarklet returns the same goo values for normal cards and for foil cards.

Drop-rate estimates

For the gamble detector, we are interested in drop-rate estimates, when crafting badges, for items of Common rarity.

Based on the data so far (1127 crafted badges):

  • the drop-rates for Profile Backgrounds and for Emoticons are different (reject null hypothesis with 95% confidence),
  • conditionally to C/UC/R patterns, the drop-rates may be similar (fail to reject null hypothesis with 95% confidence).

where:

  • C/UC/R patterns are the numbers of Common/Uncommon/Rare items associated with each appID.

Therefore, we choose to estimate the drop-rates for Common rarity, conditionally to C/UC/R patterns.
The values hard-coded in src/drop_rate_estimates.py are the centers of the Wilson score intervals with 95% confidence.

Results

The Wiki shows a ranking of packs with high buy orders.

Rankings are also available for gambles with items of "Common" rarity, obtained after crafting a badge:

References

steam-market's People

Contributors

alekxeyuk avatar dependabot-preview[bot] avatar henrydatei avatar pre-commit-ci[bot] avatar pyup-bot avatar renovate[bot] avatar woctezuma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steam-market's Issues

Booster Packs not created

Hey, I am messing around with your project, and I can't update the games that we can craft cards (booster_game_creator.txt)

It always picks up games that are not in the list.
Is this project still being maintained?

Somehow your Steam ID is in the code

I ran the command in #29 again and this time the program finished with

Inventory for profile 76561198028705366 could not be loaded. Status code 403 was returned.

I looked the steam id up and it belongs to https://steamcommunity.com/id/wokuma (I guess it's your steam account). Have I somewhere missed a file to edit and fill in my own steam id?

Question

File "C:\Users\User\Desktop\steam-market-master\market_arbitrage_with_foil_cards.py", line 955, in find_item_type_for_app_id
listing_details = all_listing_details[representative_listing_hash_for_app_id]
KeyError: '400750-15cm SfH 18 (Foil)'

Is that one item causing problems?

KeyError: 'sessionid'

I ran python3 market_arbitrage.py and I got the following error

Traceback (most recent call last):
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 526, in <module>
    main()
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 509, in main
    apply_workflow(
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 489, in apply_workflow
    creation_results, sale_results = create_then_sell_booster_packs_for_batch(
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 392, in create_then_sell_booster_packs_for_batch
    creation_results = create_booster_packs_for_batch(listing_hashes)
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 351, in create_booster_packs_for_batch
    result = create_booster_pack(app_id=app_id)
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 151, in create_booster_pack
    session_id = get_session_id(cookie=cookie)
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 109, in get_session_id
    session_id = cookie['sessionid']
KeyError: 'sessionid'

Shortened console output:

Parsing the one-line javascript code displayed with the web browser.
Loading 11911 listings from disk.
[100/11600]
[200/11600]
...
[11400/11600]
[11500/11600]
Omitting dubious listing hash: 278360-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 219740-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 218620-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 730-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 464760-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 209670-Cortex Command #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 381210-Dead by Daylight #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 570-Dota 2 #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 279720-The I of the Dragon #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 893180-#Economy_TradingCards_Type_GameType
There are 11901 seemingly valid market listings. (10 omitted because of a dubious listing hash)
No match found for Legend of Moros (appID = 449770)
#badges = 2264 ; #matching hashes found = 2264
Item type not found for 753-Sack of Gems
Listing: 753-Sack of Gems ; item id: 26463978 ; ask: 0.30€ (4002) ; bid: 0.28€ (12067)
A sack of 1000 gems can be bought for 0.30 €.
There are 756 booster packs with sell price unknown (217) or strictly higher than gem price (539).
There are 756 booster packs which can be immediately crafted. (0 excluded because of cooldown)
Loading 10700 listing details from disk.
Item type not found for 651340-Shephy Booster Pack
Item type not found for 1106750-Fault: Elder Orb Booster Pack
Item type not found for 252890-Dracula: Love Kills Booster Pack
Listing: 6370-Bloodline Champions Booster Pack ; item id: 33143882 ; ask: 0.85€ (2) ; bid: 0.24€ (3)
Listing: 32200-Metal Drift Booster Pack ; item id: 1884332 ; ask: -1.00€ (-1) ; bid: 0.21€ (20)
Listing: 33680-Eversion  Booster Pack ; item id: 1153329 ; ask: 0.40€ (11) ; bid: 0.35€ (17)
...
Listing: 1407200-World of Tanks Booster Pack ; item id: 176254794 ; ask: 0.17€ (1) ; bid: 0.13€ (17)
Listing: 1407420-Milo and the Magpies Booster Pack ; item id: 176281363 ; ask: 0.34€ (8) ; bid: 0.16€ (2)
Number of queries 50 reached. Cooldown: 70 seconds
Listing: 1548650-LudoNarraCon Supporter Pack featuring Cyrano Booster Pack ; item id: 176239981 ; ask: -1.00€ (-1) ; bid: 0.15€ (1)
Listing: 1575870-UpGun Booster Pack ; item id: 176300022 ; ask: 0.49€ (1) ; bid: 0.15€ (2)
Listing: 1604000-Milk outside a bag of milk outside a bag of milk Booster Pack ; item id: 176289144 ; ask: 0.19€ (7) ; bid: 0.15€ (17)
Listing: 1731270-Global City Booster Pack ; item id: 176280052 ; ask: 0.39€ (1) ; bid: 0.16€ (1)
Listing: 1755910-Capcom Arcade 2nd Stadium Booster Pack ; item id: 176323595 ; ask: 0.37€ (9) ; bid: 0.11€ (10)
0.01€	33680-Eversion  Booster Pack
0.02€	72850-The Elder Scrolls V: Skyrim Booster Pack
0.11€	206210-Gotham City Impostors: Free To Play Booster Pack
0.05€	212740-TERA Booster Pack
0.01€	227700-Firefall Booster Pack
0.12€	235340-Prime World Booster Pack
0.73€	243120-Betrayer Booster Pack
0.11€	264360-La Tale Booster Pack
1.89€	271290-HAWKEN Booster Pack
1.98€	298890-Adventure Time: The Secret Of The Nameless Kingdom Booster Pack
0.00€	305780-Echo of the Wilds Booster Pack
0.01€	327690-Gigantic Booster Pack
0.05€	336520-Might & Magic Heroes Online Booster Pack
0.03€	338180-Batla Booster Pack
0.31€	356050-Beyond Eyes Booster Pack
0.17€	356330-Dragomon Hunter Booster Pack
1.40€	369200-Ghost in the Shell: Stand Alone Complex - First Assault Online Booster Pack
0.06€	404770-SUPERFIGHT Booster Pack
0.04€	426970-Age of Magic CCG Booster Pack
0.41€	432150-They Came From The Moon Booster Pack
0.23€	451230-Wartune Booster Pack
0.68€	469830-Fable Fortune Booster Pack
0.01€	512200-Metal Carnage Booster Pack
0.01€	534500-Tiger Knight: Empire War Booster Pack
0.22€	536930-MOBIUS FINAL FANTASY Booster Pack
0.14€	556440-Vicious Circle Booster Pack
0.40€	560380-MapleStory 2 Booster Pack
3.69€	575550-Hell Girls Booster Pack
0.14€	588210-HELLION Booster Pack
0.16€	630100-SoulWorker Booster Pack
0.04€	719750-PUSS! Booster Pack
0.02€	728730-Holyday City: Reloaded Booster Pack
0.11€	795100-Friday the 13th: Killer Puzzle Booster Pack
0.01€	856880-Fighting Fantasy Classics Booster Pack
# Reminder of the gem price
A sack of 1000 gems can be bought for 0.30 €.
# Results after *slow* update of market order data for *many potential* arbitrages
*   Profit: 3.69€	575550-Hell Girls Booster Pack	| craft pack: 1000 gems (0.30€) | sell for 3.99€ (4.61€ incl. fee) (#=1)
*   Profit: 0.31€	356050-Beyond Eyes Booster Pack	| craft pack: 857 gems (0.26€) | sell for 0.57€ (0.64€ incl. fee) (#=2)
*   Profit: 0.23€	451230-Wartune Booster Pack	| craft pack: 667 gems (0.20€) | sell for 0.43€ (0.49€ incl. fee) (#=1)
*   Profit: 0.14€	556440-Vicious Circle Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.36€ (0.40€ incl. fee) (#=1)
*   Profit: 0.12€	235340-Prime World Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.34€ (0.38€ incl. fee) (#=1)
*   Profit: 0.11€	795100-Friday the 13th: Killer Puzzle Booster Pack	| craft pack: 857 gems (0.26€) | sell for 0.37€ (0.41€ incl. fee) (#=4)
*   Profit: 0.11€	206210-Gotham City Impostors: Free To Play Booster Pack	| craft pack: 1200 gems (0.36€) | sell for 0.47€ (0.53€ incl. fee) (#=1)
*   Profit: 0.06€	404770-SUPERFIGHT Booster Pack	| craft pack: 1000 gems (0.30€) | sell for 0.36€ (0.40€ incl. fee) (#=1)
*   Profit: 0.05€	336520-Might & Magic Heroes Online Booster Pack	| craft pack: 857 gems (0.26€) | sell for 0.31€ (0.35€ incl. fee) (#=5)
*   Profit: 0.05€	212740-TERA Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.27€ (0.30€ incl. fee) (#=1)
*   Profit: 0.04€	719750-PUSS! Booster Pack	| craft pack: 667 gems (0.20€) | sell for 0.24€ (0.27€ incl. fee) (#=5)
*   Profit: 0.03€	338180-Batla Booster Pack	| craft pack: 1000 gems (0.30€) | sell for 0.33€ (0.37€ incl. fee) (#=1)
*   Profit: 0.02€	728730-Holyday City: Reloaded Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.24€ (0.27€ incl. fee) (#=1)
*   Profit: 0.01€	856880-Fighting Fantasy Classics Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.23€ (0.26€ incl. fee) (#=3)
Listing: 206210-Gotham City Impostors: Free To Play Booster Pack ; item id: 1795229 ; ask: -1.00€ (-1) ; bid: 0.53€ (1)
Listing: 212740-TERA Booster Pack ; item id: 175871119 ; ask: -1.00€ (-1) ; bid: 0.30€ (1)
Listing: 235340-Prime World Booster Pack ; item id: 1696307 ; ask: -1.00€ (-1) ; bid: 0.38€ (1)
Listing: 336520-Might & Magic Heroes Online Booster Pack ; item id: 81553936 ; ask: -1.00€ (-1) ; bid: 0.35€ (5)
Listing: 338180-Batla Booster Pack ; item id: 47727855 ; ask: -1.00€ (-1) ; bid: 0.37€ (1)
Listing: 356050-Beyond Eyes Booster Pack ; item id: 61941799 ; ask: -1.00€ (-1) ; bid: 0.64€ (2)
Listing: 404770-SUPERFIGHT Booster Pack ; item id: 162358782 ; ask: -1.00€ (-1) ; bid: 0.40€ (1)
Listing: 451230-Wartune Booster Pack ; item id: 165806799 ; ask: -1.00€ (-1) ; bid: 0.49€ (1)
Listing: 556440-Vicious Circle Booster Pack ; item id: 176080337 ; ask: -1.00€ (-1) ; bid: 0.40€ (1)
Listing: 575550-Hell Girls Booster Pack ; item id: 175865890 ; ask: -1.00€ (-1) ; bid: 4.61€ (1)
Listing: 719750-PUSS! Booster Pack ; item id: 176006423 ; ask: 0.38€ (3) ; bid: 0.27€ (5)
Listing: 728730-Holyday City: Reloaded Booster Pack ; item id: 175951654 ; ask: 0.39€ (18) ; bid: 0.27€ (1)
Listing: 795100-Friday the 13th: Killer Puzzle Booster Pack ; item id: 175980402 ; ask: 0.93€ (2) ; bid: 0.41€ (4)
Listing: 856880-Fighting Fantasy Classics Booster Pack ; item id: 175996971 ; ask: 0.39€ (17) ; bid: 0.26€ (3)
0.11€	206210-Gotham City Impostors: Free To Play Booster Pack
0.05€	212740-TERA Booster Pack
0.12€	235340-Prime World Booster Pack
0.05€	336520-Might & Magic Heroes Online Booster Pack
0.03€	338180-Batla Booster Pack
0.31€	356050-Beyond Eyes Booster Pack
0.06€	404770-SUPERFIGHT Booster Pack
0.23€	451230-Wartune Booster Pack
0.14€	556440-Vicious Circle Booster Pack
3.69€	575550-Hell Girls Booster Pack
0.04€	719750-PUSS! Booster Pack
0.02€	728730-Holyday City: Reloaded Booster Pack
0.11€	795100-Friday the 13th: Killer Puzzle Booster Pack
0.01€	856880-Fighting Fantasy Classics Booster Pack
Loading 10703 listing details from disk.
Item type not found for 206210-Gotham City Impostors: Free To Play Booster Pack
Item type not found for 338180-Batla Booster Pack
Item type not found for 451230-Wartune Booster Pack
Item type not found for 856880-Fighting Fantasy Classics Booster Pack
Item type not found for 235340-Prime World Booster Pack
Item type not found for 795100-Friday the 13th: Killer Puzzle Booster Pack
Item type not found for 404770-SUPERFIGHT Booster Pack
Item type not found for 728730-Holyday City: Reloaded Booster Pack
Item type not found for 356050-Beyond Eyes Booster Pack
Item type not found for 575550-Hell Girls Booster Pack
Item type not found for 556440-Vicious Circle Booster Pack
Item type not found for 212740-TERA Booster Pack
Item type not found for 336520-Might & Magic Heroes Online Booster Pack
Item type not found for 719750-PUSS! Booster Pack
# Results after *quick* update of market order data for *a few detected* arbitrages
*   Profit: 0.11€	795100-Friday the 13th: Killer Puzzle Booster Pack	| craft pack: 857 gems (0.26€) | sell for 0.37€ (0.41€ incl. fee) (#=4)
*   Profit: 0.04€	719750-PUSS! Booster Pack	| craft pack: 667 gems (0.20€) | sell for 0.24€ (0.27€ incl. fee) (#=5)
*   Profit: 0.02€	728730-Holyday City: Reloaded Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.24€ (0.27€ incl. fee) (#=1)
*   Profit: 0.01€	856880-Fighting Fantasy Classics Booster Pack	| craft pack: 750 gems (0.22€) | sell for 0.23€ (0.26€ incl. fee) (#=3)
{'795100-Friday the 13th: Killer Puzzle Booster Pack': 37.0, '719750-PUSS! Booster Pack': 24.0, '728730-Holyday City: Reloaded Booster Pack': 24.0, '856880-Fighting Fantasy Classics Booster Pack': 23.0}
Traceback (most recent call last):
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 526, in <module>
    main()
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 509, in main
    apply_workflow(
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 489, in apply_workflow
    creation_results, sale_results = create_then_sell_booster_packs_for_batch(
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 392, in create_then_sell_booster_packs_for_batch
    creation_results = create_booster_packs_for_batch(listing_hashes)
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 351, in create_booster_packs_for_batch
    result = create_booster_pack(app_id=app_id)
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 151, in create_booster_pack
    session_id = get_session_id(cookie=cookie)
  File "/Users/henryhaustein/Downloads/steam-market/inventory_utils.py", line 109, in get_session_id
    session_id = cookie['sessionid']
KeyError: 'sessionid'

AssertionError

I ran into the next error with market-arbitrage.py. This error sometimes comes up and sometimes not

Traceback (most recent call last):
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 526, in <module>
    main()
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 509, in main
    apply_workflow(
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 427, in apply_workflow
    filtered_badge_data = get_filtered_badge_data(
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 380, in get_filtered_badge_data
    aggregated_badge_data = load_aggregated_badge_data(
  File "/Users/henryhaustein/Downloads/steam-market/market_utils.py", line 189, in load_aggregated_badge_data
    aggregated_badge_data = aggregate_badge_data(
  File "/Users/henryhaustein/Downloads/steam-market/market_utils.py", line 125, in aggregate_badge_data
    gem_price = get_gem_price(
  File "/Users/henryhaustein/Downloads/steam-market/sack_of_gems.py", line 86, in get_gem_price
    sack_of_gems_price = load_sack_of_gems_price(retrieve_gem_price_from_scratch, verbose=verbose)
  File "/Users/henryhaustein/Downloads/steam-market/sack_of_gems.py", line 61, in load_sack_of_gems_price
    sack_of_gems_price = download_sack_of_gems_price(sack_of_gems_listing_file_name)
  File "/Users/henryhaustein/Downloads/steam-market/sack_of_gems.py", line 47, in download_sack_of_gems_price
    raise AssertionError()
AssertionError

Data in personal_info.json

{
    "steamLoginSecure": "7656***",
    "browserid": "285***",
    "steamMachineAuth7656***": "F5801***",
    "sessionid": "1aa***"
}

Console output:

Parsing the one-line javascript code displayed with the web browser.
Loading 11915 listings from disk.
[100/11604]
[200/11604]
...
[9300/11604]
Wrong status code (429) for start_index = 9400 after 44 queries.
Omitting dubious listing hash: 278360-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 219740-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 218620-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 730-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 464760-#Economy_TradingCards_Type_GameType
Omitting dubious listing hash: 209670-Cortex Command #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 381210-Dead by Daylight #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 570-Dota 2 #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 279720-The I of the Dragon #Economy_TradingCards_ItemType_BoosterPack
Omitting dubious listing hash: 893180-#Economy_TradingCards_Type_GameType
There are 11905 seemingly valid market listings. (10 omitted because of a dubious listing hash)
#badges = 86 ; #matching hashes found = 86
Traceback (most recent call last):
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 526, in <module>
    main()
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 509, in main
    apply_workflow(
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 427, in apply_workflow
    filtered_badge_data = get_filtered_badge_data(
  File "/Users/henryhaustein/Downloads/steam-market/market_arbitrage.py", line 380, in get_filtered_badge_data
    aggregated_badge_data = load_aggregated_badge_data(
  File "/Users/henryhaustein/Downloads/steam-market/market_utils.py", line 189, in load_aggregated_badge_data
    aggregated_badge_data = aggregate_badge_data(
  File "/Users/henryhaustein/Downloads/steam-market/market_utils.py", line 125, in aggregate_badge_data
    gem_price = get_gem_price(
  File "/Users/henryhaustein/Downloads/steam-market/sack_of_gems.py", line 86, in get_gem_price
    sack_of_gems_price = load_sack_of_gems_price(retrieve_gem_price_from_scratch, verbose=verbose)
  File "/Users/henryhaustein/Downloads/steam-market/sack_of_gems.py", line 61, in load_sack_of_gems_price
    sack_of_gems_price = download_sack_of_gems_price(sack_of_gems_listing_file_name)
  File "/Users/henryhaustein/Downloads/steam-market/sack_of_gems.py", line 47, in download_sack_of_gems_price
    raise AssertionError()
AssertionError

help

No matter what I do, the program always replies " Unreliable goo details for " for every single goo detail.

Initial Update

The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.

Question for modifing the header

header

I want to ask how to find the optimal header value for my environement, it seems I am getting heavily blocked even with cookie, and I am suspecting the header

my cookie format

  "browserid": "PASTE_YOUR_COOKIE_VALUE_HERE",
  "sessionid": "PASTE_YOUR_COOKIE_VALUE_HERE",
  "steamLoginSecure": "PASTE_YOUR_COOKIE_VALUE_HERE"

and I have the following issue occuring (but it does not stop the program from running), is it due to format change from return data? (ran python market_arbitrage.py)

<unknown>:1: SyntaxWarning: invalid escape sequence '\/'
Item type not found for 1062830-Embr Booster Pack

It is a good project, thanks in advance

Am I doing something wrong here?

Traceback (most recent call last):
File "C:\Users\PC\Desktop\steam-market-master\market_listing.py", line 75, in
def parse_item_type_no_from_script(last_script: str) -> [int | None]:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/python-app.yml
  • actions/checkout v4
  • actions/setup-python v5
  • codecov/codecov-action v4
pip_requirements
requirements.txt
  • beautifulsoup4 ==4.12.3
  • requests ==2.32.3
  • steamspypi ==1.1.1

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.