Script for filmow.com (BR)
Posted: 2011-08-11 18:59:18
Hi, yesterday I knew a good brazilian site to get and share information about movies and séries. The site is http://filmow.com/.
It is a social network aboutmovies and series.
So I made this script to get information about movies on that, later I'll make some modifcations to get series too.
It is a social network aboutmovies and series.
So I made this script to get information about movies on that, later I'll make some modifcations to get series too.
Code: Select all
program Filmow;
var MovieName:string;
uses StringUtils1;
procedure SubstituiCaracteres(var X:string);
begin
X:= StringReplace(X,'é','é');
X:= StringReplace(X,'ç','ç');
X:= StringReplace(X,'ã','ã');
X:= StringReplace(X,'á','á');
X:= StringReplace(X,'ÃÂ','í');
X:= StringReplace(X,'Ã','í');
X:= StringReplace(X,'ú','ú');
X:= StringReplace(X,'ê','ê');
X:= StringReplace(X,'–','-');
X:= StringReplace(X,'ó','ó');
X:= StringReplace(X,''','''');
X:= StringReplace(X,'õ','õ');
X:= StringReplace(X,'É','É');
X:= StringReplace(X,'Ó','Ó');
X:= StringReplace(X,'Ã','Í');
X:= StringReplace(X,'ô','ô');
X:= StringReplace(X,'â','â');
X:= StringReplace(X,'"','"');
X:= StringReplace(X,'ª','ª');
X:= StringReplace(X,'º','º');
X:= StringReplace(X,'Ã','Á');
X:= StringReplace(X,'Ú','Ú');
X:= StringReplace(X,'À','À');
X:= StringReplace(X,'Ê','Ê');
X:= StringReplace(X,'Â','Â');
X:= StringReplace(X,'Ô','Ô');
X:= StringReplace(X,'“','"');
X:= StringReplace(X,'â€','"');
X:= StringReplace(X,'Ã','à');
end;
procedure AnalyzeFilmPage(Address:string);
var Page:TStringList;
valor:String;
i:integer;
begin
Page := TStringList.Create;
valor:= Address;
Page.Text:=GetPage(valor);
SetField(fieldURL,valor);
i:=FindLine('<h2>Sinopse</h2>">',Page,0);
valor:=TextBetween(Page.Text,'<p>','</p>');
SubstituiCaracteres(valor);
valor:= StringReplace(valor, '<br />', #13#10);
SetField(fieldDescription, valor);
i:=FindLine('<meta property="og',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'content="','" />');
SubstituiCaracteres(valor);
SetField(fieldTranslatedTitle, valor);
i:=FindLine('Original:</strong>',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'Original: ');
SubstituiCaracteres(valor);
SetField(fieldOriginalTitle, valor);
i:=FindLine('<div class="item genres"><strong>',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'nero: ');
SubstituiCaracteres(valor);
SetField(fieldCategory,valor);
i:=FindLine('<small class="year">',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'(',')');
SetField(fieldYear,valor);
i:=FindLine('<div class="item running_time">',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor:=TextBetween(valor,'o: ',' minutos');
SetField(fieldLength,valor);
i:=FindLine('<div class="item directors"><strong>',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'o: ');
SubstituiCaracteres(valor);
SetField(fieldDirector,valor);
i:=FindLine('<div class="item producers">',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'Produtores: ');
SubstituiCaracteres(valor);
SetField(fieldProducer,valor);
i:=FindLine('<div class="item country"><strong>',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'em: ');
SubstituiCaracteres(valor);
SetField(fieldCountry,valor);
i:=FindLine('<div class="item cast"><strong>Elenco:</strong>',Page,0);
valor:=Page.GetString(i);
valor:= StringReplace(valor, '</span><span>', #13#10);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'Elenco: ');
SubstituiCaracteres(valor);
SetField(fieldActors,valor);
i:=FindLine('<meta property="og:image"',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'content="','" />');
valor:= StringReplace(valor,'195x289','290x478');
GetPicture(valor);
i:=FindLine('<li class="average_rating" style',Page,0);
valor:=Page.GetString(i);
HTMLRemoveTags(valor);
valor := TextAfter(valor, 'a: ');
SetField(fieldRating,valor);
Page.free;
end;
procedure AnalyzePage(Address: String);
var Page:TStringList;
i:integer;
nome, url:string;
begin
PickTreeClear;
Page := TStringList.Create;
Page.Text := GetPage(Address+MovieName);
i:=0;
repeat
i:=FindLine('<h4 class="title">',Page,i+1);
nome:=Page.GetString(i);
nome:=TextBetween(nome,'title="','">');
SubstituiCaracteres(nome);
if (length(nome)>0) then
begin
url:=Page.GetString(i);
url:=TextBetween(url,'"/','" title');
url:='http://filmow.com/'+url;
PickTreeAdd(nome,url);
end;
until i=-1;
if PickTreeExec(Address) then
AnalyzeFilmPage(Address);
Page.free;
end;
begin
PickListClear;
MovieName := GetField(fieldOriginalTitle);
if Input('Importar do filmow.com', 'Escreva o nome do filme:', MovieName) then
begin
MovieName := StringReplace(MovieName, ' ', '+');
AnalyzePage('http://filmow.com/filmes/buscar/?q=');
end;
end.