Mine sisusse
Otsi siit
  • Rohkem valikuid...
Otsi tulemusi mis sisaldab...
Otsi tulemusi...
Külaline PEPZ

SteamApis.com

Soovitatud postitused

Külaline PEPZ

CSGOLyzer projektiga sain head tagasisidet mis puudutas teisi Steam Market mänge ja siis avastasin, et ükski teine lehekülg ei kogu terves Steam Marketis olevaid esemeid. Keskendutakse paarile kindlale mängule nt Dota 2, TF2 ja CS:GO.

 

Küll on aga kõvasti teisi mänge kus on erinevaid esemeid, seega otsustasin käsile võtta projekti kus ma pean koguma üle 130000 eseme hinnainfot ja ajalugu. Seoses sellega sulgen CSGOLyzer lehe ja avan SteamApis.com, et ma saaks keskenduda ainult ühele lehele, mis teeb kõike.

 

Eelvaade leheküljest:

2e92e6dfbbbb09c52f8169bb67725c1c.png

 

Hetkeseisuga on mul andmebaasis 136,063 market itemit ja 3,744 erinevat mängu kuhu alla need kuuluvad. Andmebaas on ~2GB suur.

Vahetasin MySQL välja MongoDB vastu, et ma ei peaks skeemidega pead vaevama kui Steam otsustab midagi lisada/eemaldada või muuta.

 

Selleks, et ma saaksin koguda Steamist kõigi nende esemete infot on mul tellitud IP Rotation teenus kus on saadaval üle 15,000 proxit. See annab mulle võimaluse koguda infot kiiresti ja effektiivselt. Tänu nendele proxidele on mulle tulnud juurde paar teist ideed mis aitaks inimesi kohe kindlasti Steamiga seotud lehekülgede arendamisega. (Steam limiteerib requeste 30/min päris paljudele lehekülgedele [inventory, market])

 

CSGOLyzerist on välja arenenud päris suur ja lahe projekt mis on mulle väljakutseks kuna ma pole varem nii suure andmebaasiga tegelenud ja nõnda palju web-scrapemist teinud.

 

Kuna minu web-scraperid võivad võtta kuni 6GB RAM-i each siis pidin tellima ka vähe võimsama serveri projekti jaoks. Eelmine projekt oli 2 gigase VPS-i peal, uus leht hakkab aga selle eluka peab elama https://www.soyoustart.com/ie/offers/e3-ssd-5.xml

 

 

Projekt kasutab:

- Laravel 5.2

- MongoDB

- NodeJS (peamiselt data kraapimiseks)

- HTML; CSS; JS (Bootstrap 3)

- IP Rotation teenus nagu nt: Luminati.io

 

Mis on teie arvamused ja ettepanekud? Praegu on parim aeg nõuda lehele asju mida ise kasutaksite.

Jaga seda postitust


Postituse link
Share on other sites
Külaline PEPZ
Author of the topic Postitas (muudetud)

Kuna vahepeal tuli ette ajateenistus siis jäi projekt seisma, nüüd kuis olen vaba jälle siis väike uuendus.

 

Steam esemeid andmebaasis: 180216

 

Backend uuendused

  • Vahetasin tasulise proxy rotation teenuse välja enda ehitatud süsteemi vastu.

    1. Kraabin netis olevaid proxy liste
    2. Kontrollin need üle, stabiilsed lisan pooli
    3. Poolis olevaid proxisid saan kasutada kahel meetodil
      1. Web API - "http://proxy.pepzwee.com/?url=http://steamcommunity.com"
      2. Redis Pub/Sub - Vältimaks mõttetuid requeste ise-endale saan teha ka proxitud requeste läbi Redise pub/subi.
      3.  

        [*]Profit? Enam ma ei pea maksma ~40€ kuu, et saada 15k proxit ja rotation teenust.

        [*]Proxisid mida kontrollib iga 15min tagant on ligikaudu 100k ja kontroll võtab aega kõigest paar minutit. Loomulikult on rotationis ka paar halba õuna, aga pole raske teha paar filtrit, et kontrollida tagastatud vastuseid ja teha re-requeste.

         

        [*]Kirjutasin suurema osa steami scraperist ümber ja viskasin selle ka Githubi

        1. https://github.com/pepzwee/node-steam-market-crawler

             

            [*]Laraveli enam projektis kasutama ei hakka, teen lihtsalt API nodes mida front-end hakkab kasutama

             

            Front-end uuendused

            1. Bootstrapi enam kasutama ei hakka
            2. Nüüd kasutan LESS asemel SASS-i
            3. Võtan kasutusele Vue.js

            Muu huvitav

            Kui keegi soovib kasutada Steam pilte, aga classid ei ole parasjagu saadval, et neid kätte saada siis võib kasutada minu poolset lehte @ https://assets.steamapis.com/images/

            Näide: https://assets.steamapis.com/images/238460-QWFyb24=.png

            Kasutus: https://assets.steamapis.com/images/{APPID}-{base64(market_hash_name)}.png


        2. Järgmine uuendus vahetab callbackid välja Promise vastu ja võtab kasutusele ES6 classid.
        3. https://github.com/pepzwee/node-steam-market-crawler/tree/dev

Muudetud liikme PEPZ'i poolt

Jaga seda postitust


Postituse link
Share on other sites
Külaline PEPZ
Author of the topic Postitas (muudetud)

Vue on päris hea, pole küll veel keerukamate asjade juurde jõudnud aga siiani meeldib

 

7b6398b.png

 

dN353Hb.png

 

3q727v9.png

Muudetud liikme PEPZ'i poolt

Jaga seda postitust


Postituse link
Share on other sites

  1. Laraveli enam projektis kasutama ei hakka, teen lihtsalt API nodes mida front-end hakkab kasutama

 

Nüüd on su äpp staatiline, oled mõelnud ka kus seda hostida? Ise kasutan hetkel eri projektide jaoks AWS S3 ja osade jaoks ka Google Firebase.

 

Firebase-i hosting on eriti hea, ta on mõeldud täpselt sellist tüüpi äppide jaoks. Projekti üleslaadimine käib ühe CLI käsuga. Ja mis kõige parem - see on tasuta. Annavad ka tasuta su custom domeenile SSL sertifikaadi (see käib üliautomaatselt).

 

Soovitan kindlasti proovida/lugeda: https://firebase.google.com/docs/hosting/

 

EDIT: Node API hostimiseks soovitaks Herokut


Поработай головой, чтобы купить свои мечты.

Jaga seda postitust


Postituse link
Share on other sites

Kommentaari lisamiseks loo konto või logi sisse

Kommenteerimiseks peate olema liige

Loo konto

Liituge meie kommuuni uue kontoga. See on lihtne!

Loo uus konto

Logi sisse

On juba konto? Logi sisse siit.

Logi sisse nüüd

×
×
  • Loo uus...

Oluline informatsioon

Selle veebisaidi paremaks muutmiseks oleme teie seadmesse paigutanud küpsised . Võite kohandada oma küpsiste seadeid , vastasel juhul eeldame, et te olete küpsiste kasutamisega nõus kui jätkate veebisaidil sirvimist.. Palun lugege läbi Kasutustingimused ja Privaatsuspoliitika.