Jump to content
Che

Accesare real first parent item sau base json?

Recommended Posts

Am un url de genul:

https://api.mywebsite.com/event/43243255/category1/optional_subcategory2

43243255 este id-ul acelui event.

Raspunsul este de tip json pe care il parsez in Python.

Problema este ca aceste events sunt ordonate pe zile, si fiecare zi are vreo 30.000+ de events si pentru fiecare in parte tu trebuie sa faci cate un request. Si dureaza  de m-am plictisit si am oprit scriptul.

Cum as putea sa iau toate acele events cu un singur request?

Am incercat in loc de id sa pun * dar da eroare in loc de json ca raspuns.

Aveti vreo idee? Ma gandesc ca doar nu are nimeni pus pe site un miliard de fisiere json pentru fiecare accesare in parte, fiecare grupate pe directoare si subdirectoare ci cred ca este unul singur.

Cum as putea sa accesez toate elementele din acel json la un singur query?

Mai era un site care avea tot asa ceva de genul doar ca era myeventid=12432342 si daca schimbai in myeventid= sau in myeventid=*  (nu mai stiu exact care din ele) iti dadea in format json toate datele la o singura accesare de asta am incercat sa fac la fel si in acest caz.

Am pus acest titlu fiindca nu stiu cum se numeste ce vreau eu sa fac. Se poate schimba in cel corespunzator daca nu este acesta.

 

Multumesc mult!

Link to comment
Share on other sites

  • Moderators

Nu exista un standard pentru cum sa faci query la o baza de date si sa-ti afiseze JSON-uri. Fiecare site are logica lui pentru generarea JSON-urilor in functie de ce au ei nevoie. 

 

Incearca urmatoarele:

  • vezi daca poti sa parcurgi JSON-ul dintr-o pagina principala care iti afiseaza toate ID-urile evenimentelor si care poate ofera paginare
  • vezi documentatia de la aplicatie, poate exista vreo metoda pe care nu ai gasit-o pentru query
  • vezi daca aplicatia nu poate cumva sa-ti trimita tie evenimentele la X timp catre un endpoint de-al tau
  • incearca sa contactezi service provider-ul / creatorul aplicatiei sa vezi care ar fi cea mai buna optiune pentru parcurgerea evenimentelor
Link to comment
Share on other sites

Un alt motiv pentru care multe requesturi dureaza atat de mult e ca (presupun) le faci sequential.

 

O implementare multithreaded, care face requesturi in paralel (aka 1000 de eventuri deodata) ar fi mult mai rapida. Asa iti poti satura conexiunea, manage tcp sockets, etc.

 

Eu am avut cam 2x speedup la download 70-80 fisiere mai mari (20 mb)

 

Nota: Vezi daca suporta http2.

Edited by yoyois
Link to comment
Share on other sites

@Dragos Nu am cum sa fac nimic din ce mi-ai zis fiindca nu exista un query principal sau altceva care sa fie pe prima pagina ci asta este chiar pe prima pagina intr-un fel de meniu al site-ului. Iar celelalte nu am cum sa le fac fiindca este un API gasit de mine intr-un site, nu il primesc de la vreun provider.

@yoyois Ma gandeam sa fac asta dar sa nu fiu blocat pe IP sau pentru DDoS attack si nici nu vreau sa pice site-ul din cauza asta si pe urma sa mai patesc ceva.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...