Skocz do zawartości

Tworzenie bota wyszukiwarki


sbvc

Rekomendowane odpowiedzi

Jak działają boty indeksujące?

Chodzi o to na jakiej zasadzie(to wiem, że idą za linkami) mam pobierać treść, meta itd?

Następnie czym mam się kierować przy wyświetlaniu wyników(ilośc linków, słowa kluczowe, co proponujecie?)?

Nie chcę robić jakiegoś skomplikowanego mechanizmu google tylko coś prostszego.

Proszę wpisywać swoje propozycje i uwagi.

Odnośnik do komentarza
Udostępnij na innych stronach

BOT wyszukiwarki nalezy a nawet powinienes rozbić to na kilka funkcji.

Np

Pobierasz domenę o adresie https://domena.pl

zeby nie tracic mocy powinienec zawartosc tego pliku zapisac na dysku np w postaci sumy MD5

nastepnie majac juz zapisana pobrana stronę poddajesz ją różnym analizą.

Wazne zebys zaczol do wlasnie tego - czyli budowania pająka który będzie szybko i sprawnie pobieral i zapisywal strony na dysku.

Dopiero pozniej pomysl nad analizą treści.

Możesz ją analizować na wiele sposobów

Linki oczywiście możesz zliczać + analizować anchor tekst - ja obecnie pracuje nad zliczaniem tylko unikalnych anchorów/linków.

Zakladajmy prosty przyklad

masz plik z trescia strony:

rozbijasz strone na h, znaczniki tresci, alty, meta, linki, anchory z linkow

liczysz slowa w h, tresci,meta altach, anchorach linkow

nadajesz im wage nastepnie mnozysz + np mnozysz o ogolna ilosc linkow wskazujacych.

i miales w h1 - slowo reklama

o wadze 6

w tresci 2 razy slowo reklama o wadze 2

w altach - 5 razy reklama o wadze 0,5

w titlu - 2 razy slowo reklama o wadze 1

w desc i keywords razem 6 o wadze 0,5

unikalne linki prowadzily 3 ze slowem reklama o wadze 3

zliczasz ile dla danej strony wynosi waga dla slowa reklama i zapisujesz ja w bazie

reklama = waga 140, link-id 34560

tak czy tak analizuj jak najwiecej chcesz.

Kazdy tag, wiek domeny, ilosc klikniec, wszystko jest wazne.

Mozesz tez analizowac tematyke strony ale to wymaga juz kilku slownikow jezyka polskiego ktore beda analizowaly kazde slowo, mozesz analizowac podobienstwo stron wylaniajac te indywidualne dajac priorytet tym ktore sa starsze.

I ogolnie mowiac google nie ma w sobie czegos doskonalego.

jest masa osob ktore napisalyby dobry algorytm znacznie lepszy - problem polega w zasobach spprzetowych i finansowaniu tego typu dzieła.

Na polskie zasoby musialbys dysponowac okolo 50 serwerami zeby je sprawnie analizowac.

generalnie brak aktualizacji i bycia na biezaco w zmianach na stronach powoduje najwiekszy blad w wynikach wyszukiwania.

Gdyby miec moc obliczeniową :P pozwalajaco analizowac to co sie chce B) to wyniki bylby doskonale

Odnośnik do komentarza
Udostępnij na innych stronach

to wszystko zalezy na co postawisz.

I ile bedziesz chcial zaindeksować.

Czy chcesz stworzyc jakby katalog stron z formą indeksowania i reindeksowania a także wyszukiwania w całej treści strony to praktycznie nie zajmie ci baza dużo.

1 GB to około 100 - 150 tys urli/stron/podstron zalezy co bedziesz indeksowal i jaką strukture bazy zrobisz.

baza moze byc duzo mniejsza bo same strony zajmuja duzo mniej ale w moim wypadku musiałem postawic na wyszukiwanie.

Sam obecnie stoje przed wyborem /indeks/reindeks

Tzn reindeksowanie tej samej domeny trwa 150% czasu wiecej niż dodanie jej gdy nie było jej w indeksie.

Reindeks to sprawdzenie strony - czy sie zmieniła/usuniecie wpisow jezeli sie zmieniła/ no i dobiero standardowa procedura indeksacji.

Ja sprawdzam czy zmieniła się zawartość strony na podstawie sumy md5 - sumę md5 generuje na podstawie daty dokumentu i wielkości - jeżeli ulegną zmianie to zmieni się suma md5 tym samym nalezy to zreindeskować.

Jak mogę ci zasugerować rodzaj zapisu do bazy to także operuj na sumach kontrolnych czyli.

Jeżeli na stronie znajduje słowa i wylicza dla nich WAGĘ

np słowo reklama posiada sumę md5 af12c45 itd.

to ta suma nigdy nie ulegnie zmianie dla słowa reklama.

Więc zakładajmy że robisz zapis do bazy -

tworzysz tabele o nazwach - wszystkich mozliwych wystapieniach pierwszych 2 liczb sumy kontrolnej md5

czyli np a9, a8, a7, 7a,

mozesz na poczatek zrobic na 1 litere sumy ale pozniej bedziesz i tak musial to zmienić.

Wiec jezeli na stronie znajdzie sie słowo "reklama" to analizator zabisze to do bazy wyszukiwarka/tabela-a9/

z np takimi polami:

id - keywords , waga, numer strony

gdy zaczniesz szukac w bazie to skrypt wyszukiwania na zapytanie "reklama" stworzy z niego md5

pobierze 2 pierwsze liczby - dzieki czemu polaczy sie z tą samą bazą ale będzie wiedział w której tabeli ma szukać tej strony. Segregowanie wg wagi.

Mozesz oczywiscie nie stosowac md5 do wyboru tabel - ale zastosowanie md5 do wyboru tabel znacznie przyspieszy indeksowanie ale i wyszukiwanie w bazie a to dlatego ze nie bedzie musial szukac slowa reklama i ukladac wg wagi sposrod 2 mln slow i 600 tys pasujacych wpisow ktore znalazłybvy się gdybys dodal to do jednej tabeli.

Tylko z góry będzie wiedzial ze zapytanie reklama to md5 takie i takie i nalezy tego szukac w tabeli takiej wiec znacznie ograniczysz wielkosc danej tabeli.

sam przelicz ile mozliwosc daja chocby 2 pierwsze znaki sumy md5 - o tyle zmniejszysz tabele.

Mam nadzieje ze rozumiesz o co mi chodzi bo najlepszym tlumaczem nie jestem ;).

1 - znak sumy MD5 daje ci mozliwosc zmniejszenia tabeli i rozbicia jej na 16 tabel -

suma md5 sklada sie ze znakow a-f i 0-9

zastosowanie 2 znakow :P to juz mega ilosc tabelek ktore bedziesz musial wygenerowac skryptem :P

tak czy tak przemysl ten rodzaj rozwiazania zapisu

Odnośnik do komentarza
Udostępnij na innych stronach

chodz po domenach z koncowka PL

jezeli wejdziesz na inną koncówkę to pobierz head i sprawdz czy kodowanie to 8859-2

jezeli tak to indeksuj jezeli nie to pomijaj.

Narazie indeksuj tylko glowne adresy ;) bo zajedziesz sobie sprzet.

pozniej jak juz wyselekcjonujesz te naj to indeksuj podstrony tych serwisow

Odnośnik do komentarza
Udostępnij na innych stronach

Czesio mam w du**e takie chamskie odzywki z twojej strony! Chcę wiedzieć czy intnieje konkretna funkcja na to, a ty już zaraz musisz dogryzać!

Jeśli Szookpl mi napisze, że "nie" to nic sie nie stanie. Napiszę własną instukcje zapisującą urle w bazie. Następnym jej krokiem będzie indeksowanie tych stron i zdobywanie kolejnych adresów.

Odnośnik do komentarza
Udostępnij na innych stronach

Programowanie w PHP a tworzenie wyszukiwarki i bota to dwa inne światy.

Botem w PHP za wiele nie zdziałasz (chyba że na bardzo małą skalę).

Przed zabraniem się do pracy musisz lepiej poznać temat, bo sprawa nie jest tak prosta jak Ci się wydaje. Proponuje najpierw poznać działanie bota Google'a. Poszukaj na forum, to wszystko było już wałkowane wielokrotnie.

Odnośnik do komentarza
Udostępnij na innych stronach

Napiszę własną instukcje zapisującą urle w bazie. Następnym jej krokiem będzie indeksowanie tych stron i zdobywanie kolejnych adresów.

Ale to prędzej.

Po za tym nie mamy tutaj dyskutować kto ile programuje, czy kto coś napisał, ale jak miałbym napisać bota wyszukiwarki. Ponieważ mam już wszystkie informacje podziękuję wam za udzielanie się w topicu.

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