Hirdetés

2024. április 25., csütörtök

Gyorskeresés

Hozzászólások

(#40) LW


LW
őstag

Igazatok is van meg nem is.

Nyilván nem lehet besaccolni normálisan hsz szám alapján az első szükséges oldalt, de a program (a forrásban is kivehető) letölti mindegyik fájlt(amíg nem talál használhatót), de megnézi az első és az utolsó hsz számát.

Ha lap_utolsó < felhasználó_kezdési, akkor a következő oldalra ugrik
Ezen felül, Ha lap_kezdési > felhasználó_utolsó dátum, akkor kilép(break) a ciklusból és lezárja a kimeneti fájlt.

Meg lehetett volna spékelni felezős bonyolultabb algoritmusokkal, de majd egyszer.
pl: első lap: Get(1-200) [offset:0], utolsó:lap Get(friss.html)[offset:a lekérdezett lap alapján], középső lap: get(offset_elso+offset_utolso)/2 + ((offset_elso+offset_utolso)/2+200) [De itt is le kéne kezelni, hogy nem 200-al osztható eredményt kapunk]
Ha lekérdezett lap_utolsó < felhasználó_kezdési, akkor center=((center+utolso)/2)
Ha lekérdezett lap_kezdési < felhasználó_utolsó, akkor center=((center+első)/2)

A lényeg, hogy itt rengeteg dolgot le kéne kezelni, szóval igazból a mostani parasztbruteforce megoldás a net miatt kicsit lassú, és a PH! szervereit is jobban megkínozza, de legalább egyszerű és jó.
Viszont a hszszám kicsivel kényelmesebb lenne.
Előfordulhat, hogy a következő azzal lesz már. :K

WildBoarTeam: emlékeim szerint 200 a max. egyszerre lekérdezhető mennyiség.

[ Szerkesztve ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.