Skocz do zawartości

jak zrobić robota?


jarmiar

Rekomendowane odpowiedzi

  • Odpowiedzi 45
  • Dodano
  • Ostatniej odpowiedzi

Tylko po co zabierać się za implementację robota jak ma się mgliste pojęcie o programowaniu w innych językach niż PHP i do tego PHP tylko w kontekście stron internetowych. Zwłaszcza odradzam zabieranie się za to osobą o stanie wiedzy z przedmiotowego zakresu odzwierciedlonym w zacytowanym fragmencie: "php znam, więc może ktoś by mnie poinstruował na jakiej zasadzie mozna zrobić takiego robota" :D

Nawet jak już ktoś ma odpowiednią wiedzę to i tak mija się to z celem, bo można to porównać do budowy bolidu F1 w garażu na podwórzu. Dodam, że mam na myśli pisanie robota w celu późniejsze implementacji wyszukiwarki stron.

IMHO żywym przykładem jest dla mnie serwis-wyszukiwarki typu gooru.pl który praktycznie się nie liczy na rynku wyszukiwarek i z całą pewnością nie był stworzony w garażu. Ale tak jak zaznaczyłem jest to moja własna opinia na temat tej wyszukiwarki.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Projekt tylko czego? Systemu newsów to owszem, ale nie wydajnego wielowątkowego robota sieciowego :D

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Mion projekt jednowątkowego robota sieciowego, który potem zamieni się w wielowątkowy.

Stworzenie optymalnego bota, a raczej struktury bazodanowej pod niego nie jest niestety takie łatwe. Jest wiele kombinacji i wypadało by przetestować tą najlepszą, a testy najlepiej przeprowadzić w języku który znamy :D

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

Zresztą PHP też się do tego nadaje, bo ma odpowiednie funkcje do obsługi żądań HTTP metodą GET, ale skrypty uruchamiane konsolowo jako CLI a nie w przeglądarce w stylu kliknij w link i uruchom robota :D

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

No wiadomo chyba że jak robot, to tylko spod konsoli :D

Przez WWW można zrobić statystyki i mechanizm analizy i obróbki tego co znajdzie bot.

Zresztą najtrudniejszą kwestią jest budowa bazy danych. Jak przechowywać kopie stron, indeksy, jak manipulować wynikami.

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

No wiadomo chyba że jak robot, to tylko spod konsoli :D
Zapewniam Cię, że nie wszystkim z tego topicku :)

No właśnie już wkraczasz w sferę odpowiednich stricte dedykowanych systemów bazodanowych pod takie serwisy. Zresztą sam kiedyś się w to Bawiłeś wiec wiesz jak wygląda to od strony bazy danych możesz powiedzieć innym zainteresowanym jakie mają szanse na zbudowanie wyszukiwarki na koncie resellera z MySQL. Nawet na dedykach opartych o LAMP'ie.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Hehe :D

Zbudowanie robota, wyszukiwarki na jednym serwerze dedykowanym jest możliwe, ale musimy przyjąć pewne smutne ograniczenia. Nie mamy dostępu do takich zasobów jak Yahoo, Live, Google więc musimy się zadowolić indeksacją strony głównej( ew. podstronami pierwszego poziomu ). Dalej nie jesteśmy wstanie wejść, bo po prostu dysk nam się zapcha.

Graff swego czasu wspominał że najlepszą metodą jest trójpodział. Podział na robota, analizatora i na wyszukiwarkę. Również uważam że lepszego sposobu nie ma, i chyba giganci tej branży uważają tak samo :)

Robot musi zbierać tylko zawartość strony, więc musi mieć szybki dostęp do spisu stron do odwiedzenia. Najszybszy dostęp jest do ramu, więc będzie go używać do większości danych, ale tymczasowych. Wybieramy pusty klucz w ramie i uzupełniamy go o strony do odwiedzenia. Najlepiej by każdy robot korzystał z innego klucza. Po przejrzeniu wszystkich wartości z klucza, przeskakujemy na inny klucz(skąd wziąć wartości w kluczach napiszę niżej). A wcześniej użyty czyścimy. Możemy tutaj zastosować typ MEMORY bazy danych MySQL, ale lepszym wg. mnie rozwiązaniem jest zastosowanie shmop do zarządzania ramem. Robot może zapisywać dane do plików, ramu. Znowu najlepszym wyjściem będzie ram(min. 1gb ramu).

Odwiedzona strona może już zostać zapisana normalnie w pliku, bazie danych. Będzie potrzebna jedynie analizatorowi.

Analizator pobiera zawartość strony z ramu i ją obrabia. Jak, to już osobna kwestia każdego programisty. Końcowym zadaniem analizatora jest pobranie linków z owej strony, i ustawienie jej w kolejce do indeksacji - właśnie tutaj następuje zapis do ramu odpowiedniej wartości. By zwolnić ram, analizator oczywiście usuwa analizowaną strone - niestety nie mamy zasobów by je trzymać jako kesz.

Wyszukiwarka, to już efekt końcowy wyświetla wyniki które zostały zapisane w bazie przez analizatora pod postacią Słowo - Strona - Punkty i tak tworzy ranking.

Jest to możliwe, ale stworzenie optymalnej wyszukiwarki pochłonie dużo czasu na samo zaplanowanie mechaniki komunikacji pomiędzy tymi trzema procesami. Całość trzeba zsynchronizować, tak by dane się nie popsuły.

:)

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

Wiec jak mam obrazowo przedstawił MMP skala zagadnienia bynajmniej nie jest trywialna. Ale nawet jeśli już komuś się uda implementacja wyszukiwarki to można zadać fundamentalne pytanie co uzyska ? Będzie to namiastka kartingu w świecie F1, jedynie site stworzony dla własnej satysfakcji bez większego praktycznego zastosowania - c'est la vie :D

Jak mniemam Kolega Szook coś więcej może powiedzieć na ten temat -> Szook.PL Wyszukiwarka internetowa, bo nie udało mu się zaszokować rynku wyszukiwarek...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Będzie to namiastka kartingu w świecie F1, jedynie site stworzony dla własnej satysfakcji bez większego praktycznego zastosowania - c'est la vie smile.gif

Graff, Piotrek, Szook stworzyli, i chyba coś z tego mają :)

Jest jeszcze pewne luka na rynku wyszukiwarek którą można zaatakować, ale o niej będę mówił podczas prezentacji Zicherki na Spodku 2.0. Więc przed prezentacją nie mogę o niej wiele powiedzieć. Ci bardziej domyślni się domyślą o co mi chodzi :D

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

... Szook stworzyli, i chyba coś z tego mają
Mają, mają :
Permission denied in /home/szook/public_html/cache.inc.php on line 56

:D

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności