Am decis sa aleg IMDB ca si “comunitate” analizata. De fapt, ideea la care m-am gandit eu deviaza un pic de la “specificatiile” temei, pentru ca de fapt nu voi genera relatii intre “persoane” , ci de fapt voi analiza relatiile dintre “filme” - pe principiul , si filmele este fiinte si ele are drepturile de a fi bagate in seama
Astfel , am decis sa scriu un web crawler care sa “mimeze” pattern-ul meu de navigare pe IMDB in cautarea unui film la care sa ma uit. Si anume: intru pe o pagina a unui film care mi-a placut - sa luam ca exemplu Europa. Ma uit pentru acel film in doua locuri: la sectiunea de recomandari si la regizor. Rar ma uit si la actori - in principiu regizorul ma intereseaza. Pentru fiecare recomandare, intru pe pagina respectivului film si vad daca se merita sa ma uit la el. Ce inseamna “se merita” :
- sa aiba un rating IMDB > 7.0 ; acel rating sa se bazeze pe un numar de votanti >=2000
- premii obtinute la diverse concursuri de film - Oscar etc. - filmele care au asa ceva sunt mai interesante
- facut de un regizor deja cunoscut -> mai
Pentru fiecare regizor, iau la rand filmele pe care le-a regizat si aplic acelasi procedeu - in acest caz dispare punctul 3 pt ca deja pornesc de la regizor. In cazul in care intalnesc un film care satisface criteriile de mai sus, il adaug la lista de filme “interesante” , si continui cautarea. Cautarea se incheie dupa ce crawlerul a parcurs paginile intr-o adancime data ca parametru.
Raportat la enuntul temei, entitatile sunt in acest caz filmele si regizorii, iar legaturile intre entitati sunt:
- REGIZOR_PENTRU : legatura intre un regizor si un film; spune ca un regizor a facut un film - evident si din nume
- RECOMANDARE_IMD: legatura intre doua filme; un film A recomanda un alt film B daca filmul B se gaseste in pagina de recomandari a lui A
Codul poate fi gasit
aici