(*************************************************** Ant Movie Catalog importation script www.antp.be/software/moviecatalog/ [Infos] Authors=Guardião - www.guardiao.com/forum/viewtopic.php?t=78, Ronaldo Assis Alves Title=e-Pipoca Description=Movie importation script for e-Pipoca Site=www.epipoca.com.br Language=BR Version=1.6 (16 de Novembro de 2010) Requires=3.5.1 Comments=Script feito por Guardião para o site "www.epipoca.com.br"|Caso detectem erros coloquem-nos no meu site: www.guardiao.com/forum/viewtopic.php?t=78|Ou enviem email para ronaldoassis@gmail.com| License=This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. | GetInfo=1 [Options] ***************************************************) program EPipoca; uses StringUtils1; var MovieName: string; procedure AnalyzeFilmPage(Address: string); var Page: TStringList; value, valor: string; LineNr: Integer; begin Page := TStringList.Create; Page.Text := GetPage(Address); SetField(fieldURL, Address); LineNr := FindLine('', Page, 0); LineNr := FindLine('', Page, LineNr + 1); value := Page.GetString(LineNr); valor := TextBetween(value, '', '<'); SetField(fieldTranslatedTitle, valor); valor := TextBetween(value, '
(', ','); SetField(fieldOriginalTitle, valor); valor := TextBetween(value, 'opc=pais&busca=', '"'); SetField(fieldCountry, valor); valor := TextBetween(value, 'opc=ano&busca=', '"'); SetField(fieldYear, valor); valor := TextBetween(Page.Text, 'Duração: ', ' min'); SetField(fieldLength, valor); valor := TextBetween(Page.Text, 'Produtora(s): ', ''); HTMLRemoveTags(valor); SetField(fieldProducer, valor); valor := TextBetween(Page.Text, 'Gênero: ', ''); HTMLRemoveTags(valor); SetField(fieldCategory, valor); valor := TextBetween(Page.Text, 'Diretor(es): ', ''); HTMLRemoveTags(valor); SetField(fieldDirector, valor); valor := TextBetween(Page.Text, 'Elenco: ', 'mais...'); HTMLRemoveTags(valor); valor := FullTrim(valor); if copy(valor, length(valor), 1) = ',' then begin valor := copy(valor, 1, length(valor) - 1); valor := valor + '.'; end; SetField(fieldActors, valor); valor := TextBetween(Page.Text, 'SINOPSE', ''); HTMLRemoveTags(Valor); SetField(fieldDescription, valor); valor := TextBetween(Page.Text, 'images/filmes/poster/', '"'); if length(valor) > 0 then begin valor := 'http://epipoca.com.br/images/filmes/poster/' + valor; GetPicture(valor); end; valor := TextBetween(Page.Text, 'Cotação: ', ' '); SetField(fieldRating, valor); Page.Free; end; procedure AnalyzePage(Address: string); var Page: TStringList; LineNr : Integer; BeginPos,EndPos: integer; BeginAno, BeginOriginal, BeginOrigem, BeginGenero : Integer; Line, url, encontrar, encontrarAno,encontrarOrigem,EncontrarGenero, LinhaAno,LinhaOrigem,linhaGenero, nome,nomeOriginal,Ano,Origem,Genero: string; begin PickTreeClear; Page := TStringList.Create; Page.Text := PostPage(Address, 'busca=' + MovieName); if (pos('Nenhuma ocorrência com a palavra ', Page.Text) = 0) then begin encontrar := '', '<'); encontrarOrigem := 'href="busca_mais.php?opc=pais&busca='; BeginOrigem := Pos(EncontrarOrigem,line); linhaOrigem := Copy(line, BeginOrigem + length(encontrarOrigem), length(line)); Origem := TextBetween(linhaOrigem, '>', '<'); encontrarAno:= 'href="busca_mais.php?opc=ano&busca='; BeginAno := Pos(EncontrarAno,line); linhaAno := Copy(line, BeginAno + length(encontrarAno), length(line)); ano := TextBetween(linhaAno, '>', '<'); url := Copy(line, 1, EndPos); if pos('filmes_detalhes.php', url) > 0 then PickTreeAdd(nome+ ' <'+nomeOriginal+'> '+'('+ano+') '+origem+' "'+genero+'"', 'http://epipoca.com.br/' + url); until (line = ''); if PickTreeExec(Address) then AnalyzeFilmPage(Address); end else showmessage('Filme não encontrado'); Page.Free; end; begin PickListClear; MovieName := GetField(fieldOriginalTitle); if Input('Importar do e-Pipoca', 'Escreva o nome do filme:', MovieName) then AnalyzePage('http://epipoca.com.br/busca.php'); end.