Olá galera;
Estou a desenvolver uma aplicação que precisa retornar informaçoes da internet, mais especificamente do site “adoro cinema”
Eu vi que tem um software (Ant Movie Catalog) que já possui um script que busca informações do site e as joga na aplicação. Coloquei em anexo uma imagem do editor de script que o software usa. A minha duvida é a seguinte: Como eu posso usar este script para me retornar informações? No caso, alguem saberia dizer em que linguagem este script é escrito, e omo eu poderia integra-lo a minha aplicação? é nescessário um interpretador ou algo do tipo? estou colocando abaixo o script, caso alguem consiga identificar que linguagem é.
Ou até mesmo se esse Scripting é um programa que já faz isso para mim, e como eu poderia usá-lo?
Obrigado.
program AdoroCinema;
var MovieName:string;
uses StringUtils1;
procedure AnalyzeFilmPage(Address:string);
var Page:TStringList;
valor, Pag, Pag2, Text, valor2:String;
j, i, min, Code, min2:integer;
begin
Page := TStringList.Create;
valor:= Address;
Page.Text:=GetPage(valor);
SetField(fieldURL,valor);
SetField(fieldMediaType,'DVD');
i:=FindLine('<p itemprop="description">',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(Page.Text,'<p itemprop="description">'#13#10,'</p>');
valor:= Utf8Decode(valor);
HTMLDecode(valor);
valor:= StringReplace(valor, '<br/>', #13#10);
HTMLRemoveTags(valor);
SetField(fieldDescription, valor);
i:=FindLine('="og:title" content="',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'t="','" />');
valor:= Utf8Decode(valor);
HTMLDecode(valor);
SetField(fieldTranslatedTitle, valor);
i:=FindLine('<th>Ano de produ',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'<th>Ano de produ' , '</span></');
valor:=TextAfter(valor,'">');
SetField(fieldYear,valor);
i:=FindLine('original</th><td>',Page,0);
valor:=Page.GetString(i);
valor := TextBetween(valor, 'td>' , '</td>');
valor:= Utf8Decode(valor);
HTMLDecode(valor);
SetField(fieldOriginalTitle, valor);
Pag:=Page.Text;
Text:='';
repeat
i:=pos('<span itemprop="genre">',Pag);
if i>0 then begin
valor:=copy(Pag,i+20,Length(Pag));
valor := TextBetween(valor, '">' , '</span>');
valor:= Utf8Decode(valor);
delete(Pag,i,19);
Text:=Text+' / '+valor;
end;
until i=0;
Delete(Text,1,3);
SetField(fieldCategory,Text);
i:=FindLine('itemprop="duration"',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'">','</');
HTMLRemoveTags(valor);
if copy(valor,2,1)='h' then begin
Text:=copy(valor,1,1);
min:=StrToInt(Text,-1);
if min<>-1 then
min:=min*60;
end
else min:=0;
Text:=copy(valor,4,1);
Pag:=copy(valor,5,1);
if StrToInt(Pag,-1)<>-1 then
Text:=Text+Pag;
min2:=StrToInt(Text,-1);
if min2<>-1 then
min:=min+min2;
valor:=IntToStr(min);
SetField(fieldLength,valor);
i:=FindLine('itemprop="url" ><span itemprop="name">',Page,0);
valor:=Page.GetString(i);
valor := TextBetween(valor, '="name">' , '</span>');
valor:= Utf8Decode(valor);
HTMLDecode(valor);
SetField(fieldDirector,valor);
valor:=Page.Text;
valor := TextBetween(valor, 'Nacionalidade </span>' , #13#10'</div>');
valor := TextAfter(valor,'<span class="acLnk');
valor := TextAfter(valor, '">');
valor:= Utf8Decode(valor);
HTMLDecode(valor);
HTMLRemoveTags(valor);
SetField(fieldCountry,valor);
i:=FindLine('<meta property="og:image"',Page,0);
valor:=Page.GetString(i);
valor:=TextBetween(valor,'"og:image"','/><');
valor:=TextBetween(valor,'content="','"');
//*valor:= StringReplace(valor,'195x289','290x478');
GetPicture(valor);
valor:= Address+'/creditos';
Page.Text:=GetPage(valor);
Text:='';
Pag:=TextBetween(Page.Text,'Atores e atrizes','id="production">Topo</span>'#13#10);
if trim(Pag)='' then
Pag:=TextBetween(Page.Text,'Atores e atrizes','</table>'#13#10);
repeat
i:=FindLine('Personagem:',Page,0);
valor:=Page.GetString(i-3);
valor2:=Page.GetString(i);
Delete(valor2,pos('Personagem:',valor2),12);
Page.SetString(i,'nothing important');
valor:=trim(valor);
valor:=valor+' - '+valor2;
valor:= StringReplace(valor, #13#10, ' - ');
valor:=trim(valor);
HTMLRemoveTags(valor);
if Length(valor)>1 then
Text:=Text+#13#10+valor;
until i=-1;
repeat
i:=pos('<div class="tab_tooltip',Pag);
valor:=TextBetween(Pag,'<div class="tab_tooltip',#13#10'</span>');//</a>');
j:=pos('<span itemprop="name">',valor);
if j>0 then
valor:=TextAfter(valor,'<span itemprop="name">'#13#10)
else begin
valor:=TextAfter(valor,'">'#13#10);
valor:=TextAfter(valor,'">'#13#10);
end;
valor:=trim(valor);
valor2:=TextBetween(Pag,'<td>'#13#10,#13#10'</td>');
valor:=valor+' - '+valor2;
j:=pos('<td>',Pag);
Delete(Pag,j,5);
j:=pos('<td>',Pag);
Delete(Pag,j,5);
Delete(Pag,i,23);
valor:= StringReplace(valor, #13#10, ' - ');
valor:=trim(valor);
HTMLRemoveTags(valor);
if Length(valor)>1 then
Text:=Text+#13#10+valor;
until i=0;
Text:= Utf8Decode(Text);
valor:=copy(Text,3,Length(Text));
SetField(fieldActors,valor);
Page.free;
end;
procedure AnalyzePage(Address: String);
var Page:string;
i:integer;
nome, nome2, ano, url, Pag, Search:string;
begin
PickTreeClear;
Search:='busca/1/?q='; //1 = filmes
Page := GetPage(Address+Search+MovieName);
Pag:=Page;
repeat
i:=pos('"margin-top:-5px;">', Pag);
url:=copy(Pag,i+30,26);
url:=TextBetween(url,'/','''');
nome:=copy(Pag,i+30,pos('<br',Pag));
nome:=TextBetween(nome,'>'#13#10,'<div>');
nome:=copy(nome,1,Length(nome)-2);
nome2:=nome;
ano:=nome;
nome:=copy(nome,1,pos(#13#10,nome)-1);
nome2:=copy(nome2,pos(#13#10,nome2)+2,length(nome2));
ano:=nome2;
nome2:=copy(nome2,1,pos(#13#10,nome2)-1);
ano:=TextBetween(ano,'="fs11">'#13#10,'<br />');
nome:=nome+' '+nome2+' - '+ano;
nome:= Utf8Decode(nome);
HTMLRemoveTags(nome);
delete(Pag,i,19);
nome:=trim(nome);
if (length(nome)>2) and (pos('AdoroCinema',nome)=0) then begin
url:='http://adorocinema.com/'+url;
PickTreeAdd(nome,url);
end;
until i=0;
if PickTreeExec(Address) then
AnalyzeFilmPage(Address);
end;
begin
PickListClear;
MovieName := GetField(fieldOriginalTitle);
if Input('Importar do AdoroCinema.com', 'Escreva o nome do filme:', MovieName) then
begin
MovieName := StringReplace(MovieName, ' ', '+');
AnalyzePage('http://adorocinema.com/');
end;
end.
