(*************************************************** 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, '