Skip to main content

A package that helps extract Steam store and community market data as pandas DataFrame for better readabilty and usability.

Project description

PyPI License: MIT Repo Size GitHub follow

steamcrawl

A package that helps extract Steam store and community market data as pandas DataFrame for better readability and usability. The package makes queries to different Steam API, clean and extract the important variables from the JSON object result and return a pandas Dataframe.

With the Steam request limit, you can make 200 requests every 5 minutes. If you exceed the limit, Steam can give you a cooldown of (possibly) a few 1,2 minutes to 6 hours (depending on the API). Please make an appropriate number of requests at a given time. It is recommended to close any Steam web and application to limit the requests you are sending.

Installation and setup

The following libraries are used in the package. Thus, the requirement of their installation must be met:

  • pandas==1.5.1
  • requests==2.29.0
  • selenium-wire==5.1.0

You can download the package from PyPI using pip:

pip install steamcrawl

Before starting, you need to obtain the value of the cookie steamLoginSecure. This can be done by opening DevTools (Ctrl + Shift + I) on steamcommunity.com, Application (on the task bar), Cookies:

The package requires this value to be passed in order to return the data using the information related to you (for example currency). Please be aware that it is absolutely safe to put your steamLoginSecure into the program. The package does not attempt to record/send to another source any of your information; even with your steamLoginSecure value, there is nothing valuable another user can extract (for e.g make trades, credit card info, etc.) because Steam does not allow any important decisions being made throughout the API.

Documentation

The documentation is available at the GitHub Wiki.

Example

Initialize the Request class with your steamLoginSecure as string:

from steamcrawl import Request
import pandas as pd

request = Request('your steamLoginSecure here')

Get your market trade history:

data_frame = request.get_market_history(count = 10)
data_frame.to_csv('example.csv')

The obtained result is (this is only part of the result):

example1

Get buy/sell orders of an item:

data_frame = get_buysell_orders(item_name = "USP-S | Printstream (Field-Tested)", appid="730")
# appid 730 indicates Counter-Strike: Global Offensive game. 
# Obtain the appid for a game using get_all_appid().
data_frame.to_csv('example.csv')

The obtained result is (this is again only part of the result).

example2

A small note is, please do not be alerted by the popping up browser for this request, this is only the behavior of the seleniumwire package used for this function.

Contributions:

This project is created and managed by only one user Hungreeee. Therefore, errors are entirely possible to occur anywhere in the program. If you found any bug you would like to report, please open a new Issue.

If you would like to suggest changes to current features or new features implementation, please also open a new Issue and I will check it out as soon as I can.

Legal

This project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Valve or any of its affiliates or subsidiaries. This is an independent and unofficial project created by Hungreeee. Use it at your own risk.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

steamcrawl-1.0.0.tar.gz (10.2 kB view hashes)

Uploaded Source

Built Distribution

steamcrawl-1.0.0-py3-none-any.whl (8.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page