Autor | Zpráva | ||
---|---|---|---|
igid26 Profil |
#1 · Zasláno: 10. 2. 2022, 15:50:11
Zdravím,
znažím sa ťahať údaje z webu, ktorý poskytuje API na štátne pohľadávky. Podklady k API sú na tomto odkaze: sudne.pohladavkystatu.sk/opendata/swagger/index.html# API teda poskytuje stránkový zoznam pohľadávok. Stránkovanie je nastavené na 5000 položiek. Ja by som však potreboval vyhľadávať vo všetkých položkách. Potrebujem docieliť to, aby som dokázal na základe mena a adresy vyhľadať, či sa subjekt nachádza v databáze. Stránkovanie funguje na základe parametru skip, ktorý udáva koľko stránok sa má vynechať. príklad sudne.pohladavkystatu.sk/opendata/v1/pohladavky/?skip=5000 Vopred Ďakujem za odpoveď. |
||
juriad Profil |
#2 · Zasláno: 10. 2. 2022, 16:44:47
Máš několik možnosti:
1) vždy prolistovat všechny stránky 2) výsledky si cachovat a prohledávat cache 3) napíchnout se na nějaké jiné jejich API a výsledek si parsovat; například sudne.pohladavkystatu.sk/sk/vyhladavanie?query=naša&search=1&display=text 4) napsat jim, aby vystavili vyhledávací API 5) nechat se jimi zaměstnant a to API si napsat sám |
||
igid26 Profil |
#3 · Zasláno: 10. 2. 2022, 17:31:18
Ahoj juriad:,
1) vždy prolistovat všechny stránky - no veď ja by som práveže potreboval prísť nato ako automaticky prelistovať všetky stránky |
||
juriad Profil |
#4 · Zasláno: 10. 2. 2022, 19:10:21
Jednoduše budeš posílat dotazy, dokud některý nevrátí méně než 5000 záznamů:
https://sudne.pohladavkystatu.sk/opendata/v1/pohladavky/?skip=5000 https://sudne.pohladavkystatu.sk/opendata/v1/pohladavky/?skip=10000 https://sudne.pohladavkystatu.sk/opendata/v1/pohladavky/?skip=15000 https://sudne.pohladavkystatu.sk/opendata/v1/pohladavky/?skip=20000 ... Například takto: $list = []; $skip = 0 do { $fetched = fetch("https://sudne.pohladavkystatu.sk/opendata/v1/pohladavky/?skip=$skip") # tvoje funkce vracející pole $list = array_merge($list, $fetched); $skip += 5000; } while(count($fetched) == 5000); |
||
Časová prodleva: 2 roky
|
0