(***************************************************
Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/
[Infos]
Authors=Jan
Title=AniSearch
Description=AniSearch Script
Site=www.anisearch.de
Language=DE
Version=
Requires=3.5.0
Comments=
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 CUPictureGrab;
var
MovieName: string;
uses
StringUtils1, BatchCommon7552, StringUtils7552;
procedure AnalyzePage(Address: string);
var
strPage, MovieAddr, OriginalTitle, TranslatedTitle, MovieTitle,MovieUrl, MovieDate, MovieID: string;
BeginPos, EndPos: Integer;
Line: string;
Log: array of string;
Page, Page2: TStringList;
LineNr: Integer;
FindLNr: Integer;
Item: string;
Comments: string;
Actors: string;
Directors: string;
Description: string;
AnzahlSuchTreffer: String;
AnzahlPos: Integer ;
Nureine: Integer;
begin
strPage := GetPage(Address);
// Abfrage Ob mehrere Suchergebnisse erzielt wurden
PickTreeClear();
Page2 := TStringList.Create;
Page2.Text := strPage;
LineNr := FindLine('Treffer', Page2, 0);
if LineNr <> -1 then
begin
//-------------..
Line := Page2.GetString(LineNr);
AnzahlSuchTreffer:= TextBetween (Line,'Treffer [',']');
AnzahlPos:=StrToInt(AnzahlSuchTreffer,AnzahlPos);
while (AnzahlPos) > 0 do
begin
LineNr := FindLine('
', Page2, LineNr);
LineNr := LineNr + 3;
Line := Page2.GetString(LineNr);
//Auswahl der Filme
//Suchen Nach Englischer Titel;OriginalTitel..
BeginPos := Pos('title="englischer Titel"',Line);
if BeginPos <> 0 then
begin
MovieTitle := TextAfter(Line,'title="englischer Titel" /> ');
MovieTitle := TextBetween (MovieTitle,'id='+MovieUrl,'');
MovieTitle := StringReplace(MovieTitle,'','');
MovieTitle := StringReplace(MovieTitle,'','');
MovieUrl := 'http://anisearch.de/index.php?page=anime&id=' + MovieUrl+'&hentai=yes';
MovieTitle := StringReplace(MovieTitle,'>','');
MovieTitle := StringReplace(MovieTitle,'"','');
PickTreeAdd(MovieTitle, MovieUrl);
end;
//Suche nach Synonym
BeginPos := Pos('title="Synonym"',Line);
if BeginPos <> 0 then
begin
MovieTitle := TextAfter(Line,'title="Synonym" /> ');
MovieTitle := TextBetween (MovieTitle,'">','','');
MovieTitle := StringReplace(MovieTitle,'','');
MovieTitle := StringReplace(MovieTitle,'>','');
MovieTitle := StringReplace(MovieTitle,'"','');
MovieUrl := 'http://anisearch.de/index.php?page=anime&id=' + MovieUrl+'&hentai=yes';
PickTreeAdd(MovieTitle, MovieUrl);
end;
//Suche nach Ortiginal Name
BeginPos := Pos('title="Original-Titel"',Line);
if BeginPos <> 0 then
begin
MovieTitle := TextAfter(Line,'title="Original-Titel" /> ');
MovieTitle := TextBetween (MovieTitle,'">','','');
MovieTitle := StringReplace(MovieTitle,'','');
MovieTitle := StringReplace(MovieTitle,'','');
MovieTitle := StringReplace(MovieTitle,'>','');
MovieTitle := StringReplace(MovieTitle,'"','');
MovieUrl := 'http://anisearch.de/index.php?page=anime&id=' + MovieUrl+'&hentai=yes';
PickTreeAdd(MovieTitle, MovieUrl);
end;
; AnzahlPos := Anzahlpos -1 ;
end;
PickTreeExec(Address);
end;
Nureine := Pos('http://anisearch.de/index.php?page=suche&mode=auswahl&qsearch=',Address);
if Nureine = 1 then
begin
MovieTitle := TextBetween(strPage,'?page=anime&id=','&');
Address := 'http://anisearch.de/index.php?page=anime&id=' + MovieTitle +'&hentai=yes' ;
end;
strPage := GetPage(Address);
//Auswertung der Anime Seite
SetField(fieldURL, Address);
Page := TStringList.Create;
Page.Text := strPage;
// Original
LineNr := FindLine('Original | ', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := TextBetween (Line, '', ' | ');
HTMLDecode(Item);
SetField(fieldOriginalTitle, Trim (Item));
end;
////Translated Englisch + Synonyme ..
LineNr := FindLine('Englisch | ', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := TextBetween (Line, '', ' | ');
//HTMLDecode(Item);
LineNr := FindLine('Synonym | ', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := Item + ',' + TextBetween (Line, '', ' | ');
end;
SetField(fieldTranslatedTitle, Trim (Item));
end;
//Typ + Anzahl Episode, Jahr
LineNr := FindLine('Typ / Jahr | ', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := TextBetween (Line, '', ', ');
SetField(fieldSource, Trim (Item));
Item := TextBetween (Line, '', '');
SetField(fieldDisks, Trim (Item));
Item := TextBetween (Line, '/ ', ' | ');
Item := Copy(Item,1,4);
SetField(fieldYear, Trim (Item));
end;
//Land
LineNr := FindLine('tlich in', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := TextBetween (Line, '', ' | ');
SetField(fieldCountry, Trim (Item));
end;
// Personen << Muss ich mal schauen >>
//Beschreibung = Firmen + Webseite + Beschreibung
LineNr := FindLine('Firmen | ', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := TextBetween (Line, '', ' | ');
HTMLDecode(Item);
end;
LineNr := FindLine('Webseite | ', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr+1);
Item := Item + '
' + TextBetween (Line, '', ' | ');
HTMLDecode(Item);
end;
LineNr := FindLine('Anime Kurzbeschreibung
', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := '
' + Item + TextBetween (Line, ';">', '');
HTMLDecode(Item);
end;
SetField(fieldDescription, Trim(Item));
//Bild
LineNr := FindLine('img_anime/', Page, 0);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr);
Item := TextBetween (Line, '