Steam installeren
inloggen
|
taal
简体中文 (Chinees, vereenvoudigd)
繁體中文 (Chinees, traditioneel)
日本語 (Japans)
한국어 (Koreaans)
ไทย (Thai)
Български (Bulgaars)
Čeština (Tsjechisch)
Dansk (Deens)
Deutsch (Duits)
English (Engels)
Español-España (Spaans - Spanje)
Español - Latinoamérica (Spaans - Latijns-Amerika)
Ελληνικά (Grieks)
Français (Frans)
Italiano (Italiaans)
Bahasa Indonesia (Indonesisch)
Magyar (Hongaars)
Norsk (Noors)
Polski (Pools)
Português (Portugees - Portugal)
Português - Brasil (Braziliaans-Portugees)
Română (Roemeens)
Русский (Russisch)
Suomi (Fins)
Svenska (Zweeds)
Türkçe (Turks)
Tiếng Việt (Vietnamees)
Українська (Oekraïens)
Een vertaalprobleem melden
I assume they collect data as soon as a user on their site requests them.
But they are still limited with 100000 requests per day.
Only my Artwork, screenshots, forum posts and reviews are public. That is all they can scrub, if they even care to.
I don't get what you are trying to tell the OP, also i think you mean scraping but even that makes no sense, none of the sites he mentioned does scraping they use the api.
Even if they don't use the web api, making 100k + requests like that will get you a temp ip ban so clearly that is not what they would be doing.
the 100.000 request limit per day can change if valve approves it, what kind of arrangement some sites have is between valve and the site.
your assumption is that steamid(dot)uk and sites of that sort actually crawl the profiles is wrong, well maybe some do but i am fairly confident that most these sites don't crawl.
so the data you might be seeing on these site, is "old" data they have stored in their db, so every time you visit a profile on their page they might make another request to update that data or you would actually have to make a search for the said profile on their site to update that specific steamids data in their db.
steamdb did crawl profiles for a while but they were most like one to be approved by valve to up their request limits.
I do get the impression you underestimate how many request 100k really is but it is a lot of requests.
I guess the only logical explanation is that Steam and those sites have an arrangement as you stated it out.
But I'm currently having an account database with 167 accounts in it. I'm crawling data about those accounts every 5 minutes.
I'm crawling data from ISteamUser/GetPlayerSummaries and ISteamUser/GetPlayerBans.
So 167(accounts)x288(every five minutes)x2(two APIs to call) equals 96.192 requests per day.
As soon as I'm reaching 174 accounts in my database I'm above the limit.
That's why I wanted to know how other greater websites do it.
I should probably not query every 5 minutes to lower my requests to the API.
Not 100% correct.
Read https://steamcommunity.com/dev/apiterms
Your setup does seem a bit off, i would not make request at all that frequently.
You also clearly doing the requests wrong, as both GetPlayerBans and GetPlayerSummaries allows you to make 1 request with up to 100 ids by the comma delimiter, i would recommend you do that instead.
https://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=<apikey>&steamids=<steamid1>,<steamid2>
https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v1/?key=<apikey>&steamids=<steamid1>,<steamid2>
it would also help a bit more if you described a bit about what you want to do, if you want some proper feedback and advise on how to maybe improve your website.
You are totally right MalikQuayum. I totally forgot that you are able to get data from up to 100 accounts in one request.
All you really do is prolonging the inevitable which is you are going to reach the api request limits for that api key.
Solution to that would be to generate more api keys to different steam accounts, and continue this cycle.
or you should look into making multiple of cronjobs (assuming you doing this on your webhost) and have the php scripts check for when you last updated something and get the oldest entries that have not yet been updated, then limit the query to 100 ids.
Normally I would do a while loop for every single database entry. But I really have no idea how to do this. I've added you on Steam.
then you want make a query where you get 100 rows, where the last_updated is one day less than the current date.
writing this you probably should not do an insert but insert on duplicate key update query but you can figure that out yourself i guess.
just use a foreach loop