Autor | Zpráva | ||
---|---|---|---|
jojo Profil * |
#1 · Zasláno: 11. 1. 2011, 20:09:22
Zdravím.
Môžete mi poradiť, prípadne ma nasmerovať kde začať hľadať, čo a ako v prípade vyhľadávacieho robota? Potreboval by som aby zvládol základnú vec a to prejsť určitú stránku, vyhľadať na nej text, prípadne odkazy (tie si dokážem už z toho textu vytiahnuť sám) a uložiť to všetko do databázy? Niečo podobné ako majú vyhľadávače google, zoznam, seznam a pod. samozrejme nie také komplexné - iba nájdený text vložiť do db. |
||
Matess Profil * |
#2 · Zasláno: 11. 1. 2011, 20:18:03
jojo:
//vyhledává na cizích stránkách $stranka = 'example.cz'; $hledam = 'domain'; $zdrojovy_kod = file_get_contents('http://'.$stranka); if (strpos(' '.$zdrojovy_kod, $hledam) != FALSE) { echo $hledam.' tam je.'; } else { echo $hledam.' tam není.'; } |
||
jojo Profil * |
#3 · Zasláno: 11. 1. 2011, 20:22:27
To je super, určite sa to bude dať upraviť na to čo potrebujem a to buď:
A) vyhľadať VŠETKY texty napr. v tagu <B> </B> alebo B) vypísať celý zdrojový html kód Ešte otázka: toto vyhľadá na jednej konkrétnej stránke. Je možné aby sa niečo také dalo urobiť aby prehľadávalo aj podstránky, na ktoré nájde odkaz? |
||
ShiraNai7 Profil |
#4 · Zasláno: 11. 1. 2011, 20:27:05
Sežeň/napiš si nějaký HTML parser a dělej si s tím co chceš :)
|
||
jojo Profil * |
#5 · Zasláno: 11. 1. 2011, 20:38:20
Parser vyťahuje už potrebné dáta. ja ale potrebujem aj to ako prehliadnuť celý web aj s podstránkami...
|
||
ShiraNai7 Profil |
#6 · Zasláno: 11. 1. 2011, 20:41:24
Vsak ti parser vytahne odkazy a ty muzes prohlednout dale ne?
|
||
jojo Profil * |
#7 · Zasláno: 11. 1. 2011, 20:58:14
To áno, ale chcem to zautomatizovať: zadám stránku napr. example.com a na tejto stránke nájde odkaz na example.com/page1, example.com/page2, example.com/page3, ... a zo všetkých týchto stránok vytiahne text v tagu H1.
|
||
ShiraNai7 Profil |
#8 · Zasláno: 11. 1. 2011, 21:09:19
Však ano, parser a pracuj s dokumentem dle libosti. Pochybuju, že ti tu někdo sepíše komplet řešení.
|
||
Keeehi Profil |
#9 · Zasláno: 11. 1. 2011, 21:11:39
jojo:
A to je takový problém vlézt na jednu stránku, tam zjistit všechny odkazy,vložit je do databáze, do sloupce stav vložit 0. Pak už jen ten script spustíš znovu, načteš jen adresu která má stav 0, stav ji změníš na 1 a zase vyhledáš všechny odkazy a uložíš je do DB. |
||
jojo Profil * |
#10 · Zasláno: 11. 1. 2011, 21:23:29
Keeehi:
Mne ide nielen o získanie tých odkazov ale hlavne o vytiahnutie textu v určitom tagu (napr. to H1) a to zo všetkých stránok. ShiraNai7: Môžeš mi odporučiť vhodný parser? prípadne iný program cez ktorý by sa to dalo? našiel som screen scraper ale je to dosť zložité nastavovanie. |
||
Keeehi Profil |
#11 · Zasláno: 11. 1. 2011, 21:29:36
jojo:
Děláš že nechápeš, nebo opravdu nechápeš? |
||
jojo Profil * |
#12 · Zasláno: 11. 1. 2011, 22:02:46
Asi fakt nechápem. Ale napadlo ma iné riešenie: stiahnuť celý web do počítača a potom prehľadávať jednotlivé html súbory a vyberať z nich text v tagu.
|
||
ShiraNai7 Profil |
#13 · Zasláno: 11. 1. 2011, 22:44:30 · Upravil/a: ShiraNai7
Máš html parser... vyhodnotíš s jeho pomocí staženou HTML stránku... po jednom procházíš DOM strukturu dokumentu a ukládáš si co potřebuješ. A když narazíš na odkaz, tak si ho dáš do nějaké fronty pro skenování a pokračuješ dál..
Ale raději bych to vzdal. Robot na procházení struktury potřebuje celkem komplexní funcionalitu na rozpoznávání totožnosti stránek, stránky odkazující na sebe sama nebo na sebe navzájem, aby se tam nezasekl rekurzivně donekonečna atd.. |
||
jojo Profil * |
#14 · Zasláno: 11. 1. 2011, 22:49:57
Asi máš pravdu, radšej to vzdám. Myslel som, že je možno niekde nejaký hotový script alebo priamo program, ktorý by toto dokázal.
|
||
ShiraNai7 Profil |
#15 · Zasláno: 11. 1. 2011, 22:54:42
Nevím k čemu bys to vůbec potřeboval? A psát nějakého web crawler bota v PHP no nevím, to se na to moc nehodí. Taky nároky na kapacity serveru kde by ten bot běžel jsou vyšší.
|
||
imploder Profil |
#16 · Zasláno: 11. 1. 2011, 23:51:20 · Upravil/a: imploder
Keeehi, ShiraNai7:
Co na tom nechápete vy? jojo chce doporučit HTML parser. Ne každému se chce zdlouhavě znovu programovat něco, co už bylo 1000x uděláno. jojo: Můžeš použít třeba http://simplehtmldom.sourceforge.net/ A jinak stačí zagooglovat "html parser php" a dostaneš okamžitě to, na co se ptáš. Prostě zkus před položením dotazu použít google a chvíli sám hledat. |
||
ShiraNai7 Profil |
#17 · Zasláno: 12. 1. 2011, 10:07:35
imploder:
Já vím co chce, tak laskavě neříkej, že na tom něco nechápu. Pokud nezvládne do googlu zadat "php html parser" tak to je jiná. Já ho jen upozorňoval na úskalí toho, co se snaží naprogramovat. |
||
imploder Profil |
#18 · Zasláno: 12. 1. 2011, 12:32:28
ShiraNai7:
Nj, to s tím nechápáním psal Keehi. Sry, už bych to dál nerozebíral. |
||
Keeehi Profil |
#19 · Zasláno: 12. 1. 2011, 15:07:08
imploder:
Před tím, než jsem to psal, tak dostal radu jak ohledně paraseru tak i ohledně procházení dalších odkazů. A když se pak znovu ptal na to samé, tak jsem nevěděl, zda to opravdu nechápe, a nebo si dělá legraci. |
||
Časová prodleva: 14 let
|
0