Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Podaci od pretrazhivacha - multi threading...

[es] :: Pascal / Delphi / Kylix :: Podaci od pretrazhivacha - multi threading...

[ Pregleda: 3730 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CorpseEater
Core of I/O

Član broj: 959
Poruke: 268
*.verat.net

Sajt: 127.0.0.1


Profil

icon Podaci od pretrazhivacha - multi threading... 25.09.2003. u 12:33 - pre 253 meseci
Dakle pokushavam da poshaljem query pretrazhivachu i nakon toga (kada dobijem source-string od istog) parsiram string za linkove koje je vratio i napunim StringGrid.

To sam uspeo (sa alltheweb-om) ali mi to sve izgleda jako sporo jer ako ubacim u petlju slanje query-ja (zbog dobijanja vishe strana rezultata) i punjenje StringGrid-a, String Grid se napuni tek na kraju petlje shto onda izgleda jako sporo jer se cheka da se dobiju SVI podaci od pretrazhivacha.

Potrebno mi je da napravim nekako da se query shalje istovremeno (ili u shto kracjim razmacima) i da se u isto vreme parsira nekoliko strana sa pretrazhivacha i kako koji pristizhe da se puni StringGrid (i da se to odmah vidi).

Nadam se da ste me razumeli - za dobijanje source-a strane koristim :

Code:

Var 
             web_data,query:string;
             query_str:string;
             i:integer;
Begin
             query_str := 'http://www.alltheweb.com/search?c=web&cs=utf-8&q='+query+'&o='+IntToStr(i*10); //i je broj strane rezultata kod pretazhivacha
              web_data:=[b]idhttp1.Get(query_str);[/b]    


Dakle Indy komponenta je u pitanju.

Drugo pitanje je vezano za pretrazhivanje Google-a - alltheweb mogu da pretrazhim (da dobijem rezultate queryja) ali google NIKAKO - kad probam iz programa da shaljem bilo shta na google (npr www.google.com/search?q=blahblah') uvek se javi 403 forbidden - a ako to odradim preko neta sve je OK - verovatno ta skripta tamo proverava referer-a - nije mi jasno - ako je neko imao neka iskustva sa ovim molio bih ga da podeli sa mnom (i ostalima).

I josh sam primetio jednu stvar - www.alltheweb.com mi je do pre dva dana vracjao jednu vrstu html source-a dok mi danas vracja drugu - verovatno imaju par nekih template-ova koji se nekako biraju radi prikazivanja - nije mi problem da parsiram ni jednu ni drugu vecj mi nije jasno koliko imaju tih vrsta templateova da bi ih sve mogao ugraditi radi validnosti programa (da se razumemo - rezulati su isti ali je kod strane drugachiji).

Uopshte ako iko ima neka iskustva sa radom sa pretrazhivachima neka bar postuje neki link ka nekom tutorialu o tome shta vracjaju sve pretrazhivachi i kako parsirati te rezultate.

P.S. Link iz dela FAQ (overflow posted)
http://members.mol.com.mk/alexa/ric/maindelphi.htm
izgleda da ne radi.

Bolje šest sati u školi nego uopšte ne spavati.
--
Ko uči znaće, Ko krade imaće !

 
Odgovor na temu

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
217.26.67.*

ICQ: 106825659
Sajt: localhost


Profil

icon Re: Podaci od pretrazhivacha - multi threading... 25.09.2003. u 13:00 - pre 253 meseci
Za prvo pitanje ... ako sam dobro razumeo, zeleo bih da ti se rezultat svake strane odmah pojavljuje u SG a ne na kraju, po zavrsetku cele petlje ...

Code:

for i:=1 to n do
begin
   UpisiuSGstranicu[i];
   ...
   Application.ProcessMessages;
end;

Pogledaj help za vise info.

Drugo pitanje (nisam siguran!) ... verovatno je odradjen mali vid zastite - potrebno je da referer bude www.google.com pa ti zato po slanju zahteva google vraca forbidden.
Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

CorpseEater
Core of I/O

Član broj: 959
Poruke: 268
*.verat.net

Sajt: 127.0.0.1


Profil

icon Re: Podaci od pretrazhivacha - multi threading... 25.09.2003. u 15:24 - pre 253 meseci
Citat:
overflow:
Za prvo pitanje ... ako sam dobro razumeo, zeleo bih da ti se rezultat svake strane odmah pojavljuje u SG a ne na kraju, po zavrsetku cele petlje ...

Code:

for i:=1 to n do
begin
   UpisiuSGstranicu[i];
   ...
   Application.ProcessMessages;
end;



Hvala ti za ovo - mnogo mi je pomoglo - ali u tom prvom pitanju su se krila dva ali ochigledno da ih nisam lepo razdvojio - dakle ako hocju da uradim vishe poziva nekom serveru (u ovom sluchaju pretrazhivachu) kako to da uradim - znachi hocju npr da dobijam linkove od yahoo-a i od alltheweb-a u isto vreme ili bar da dobijam nekoliko stranica sa jednog pretrazhivacha odjednom - dakle kako to uraditi ?

Citat:
Drugo pitanje (nisam siguran!) ... verovatno je odradjen mali vid zastite - potrebno je da referer bude www.google.com pa ti zato po slanju zahteva google vraca forbidden.


Ovo drugo pitanje mi mnogo znachi - dakle evo ga josh jednom - da li neko zna kako od Google-a dobiti nazad podatke (od pretrazhivanja), da li se to placja i uopshte ako iko zna bilo shta o ovome neka mi pomogne.


Bolje šest sati u školi nego uopšte ne spavati.
--
Ko uči znaće, Ko krade imaće !

 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


+5 Profil

icon Re: Podaci od pretrazhivacha - multi threading... 25.09.2003. u 17:51 - pre 253 meseci
potraži "google web services".

to je SOAP api preko koga možeš da šalješ upite googlu, i da ti on vraća, bez bilo kakvog parsiranja. imaš u Delphiju SOAP biblioteke, uvezeš wdsl fajl i dobiješ google servis. pošalješ upit, dobiješ rezultate (sve ispod haube ide kao XML, ali te ni to ne zanima), i prikažeš rezultate.

a valjda i alltheweb ima sličan api... potraži
 
Odgovor na temu

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
*.vdial.verat.net

ICQ: 106825659
Sajt: localhost


Profil

icon Re: Podaci od pretrazhivacha - multi threading... 25.09.2003. u 18:18 - pre 253 meseci
ochigledno da ih nisam lepo razdvojio - dakle ako hocju da uradim vishe poziva nekom serveru (u ovom sluchaju pretrazhivachu) kako to da uradim - znachi hocju npr da dobijam linkove od yahoo-a i od alltheweb-a u isto vreme ili bar da dobijam nekoliko stranica sa jednog pretrazhivacha odjednom - dakle kako to uraditi ?
----------------------------------------------

Pa bas ovako kako ti se zove i tema - pomocu dva thread-a. Kreiras za svaki "kontakt" ka serveru po thread i svuces sta ti treba ... pogledaj TThread klasu za vise informacija...


Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

djoca!

Član broj: 14245
Poruke: 117
*.211.EUnet.yu



Profil

icon Re: Podaci od pretrazhivacha - multi threading... 26.09.2003. u 10:16 - pre 253 meseci
Pozdrav
pretpostavljam da zelis da napravis program koji bi proveravao poziciju nekog sajta na pretrazivacima za neke keywords-e. Tipa AgentWebranking. Odlicna ideja, ali imaces problem sa vecinom bitnih pretrazivaca jer uglavnom imaju ugradjene metode za onemogucavanje takvih pokusaja. Sa googlom je takav slucaj sigurno. Mislim da su uveli neku varijantu tipa onemogucavanja izvrsavanja upita.Nisam siguran kako to funkcionise i koji su metod koristili, ali pogledaj malo po SEO forumima, gde su ljudi malo bolje upozanti sa Google metodama za zastitu od prevare.
 
Odgovor na temu

CorpseEater
Core of I/O

Član broj: 959
Poruke: 268
*.verat.net

Sajt: 127.0.0.1


Profil

icon Re: Podaci od pretrazhivacha - multi threading... 26.09.2003. u 14:02 - pre 253 meseci
Pa nije bash tako - nije mi to ideja ali mi svakako treba odgovor od pretrazhivacha - ako je stvarno tako kako onda mogu programi kao webFerret (mislim da je http://www.webferret.com) i ostali da ih sad neimenujem da pretrazhuju internet preko pretrazhivacha - inache ja uspevam dobro to da uradim sa alltheweb-om i sa altavistom a josh ostaje da implementiram podrshku za google - naravno prijavio sam se tamo i uspeo da skinem download file sa uputstvom kako i shta ali sam primetio jednu zanmljivu stvarchicu - ogranichenje je na 1000 pretraga dnevno .

Citat:

ali pogledaj malo po SEO forumima, gde su ljudi malo bolje upozanti sa Google metodama za zastitu od prevare.


Kakvim SEO forumima - pojasni mi molim te ovo...
Bolje šest sati u školi nego uopšte ne spavati.
--
Ko uči znaće, Ko krade imaće !

 
Odgovor na temu

Milos D
Beograd

Član broj: 5621
Poruke: 280
*.ptt.yu



+1 Profil

icon Re: Podaci od pretrazhivacha - multi threading... 27.09.2003. u 21:24 - pre 253 meseci
Zdravo,

Evo probaj sa mojom multi-thread HTTP komponentom. Upravo sam probao i nema problema sa google.com.

HTTPManager.RequestPage ('http://www.google.com/search?q...oe=UTF-8&start=10&sa=N', ApDir+'test.htm');

HTTPManager.Active := true;

(HTTPManager objekat se sam kreira u initialization delu, verovatno ćeš želeti da prikačiš OnFinish event handler da bi znao kada je stranica skinuta - to moraš u runtime jer komponenta nije design time)
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Podaci od pretrazhivacha - multi threading...

[ Pregleda: 3730 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.