[REL] aniSearch.de [DE]

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
Kenji84
Posts: 8
Joined: 2010-06-17 09:50:18

[REL] aniSearch.de [DE]

Post by Kenji84 »

Für alle Deutschen Anime Fans.

Ich habe mich mal am Scripten probiert.
Dieses Script ist keines Wegs Perfekt (da ich keine große Script Erfahrung habe)


Was ich leider auch nicht ausgefiltert bekomme sind die HTML Tags (Wie Links).


Probiert es aus und wer Lust hat kann das Script gerne verbessern.


http://hotfile.com/dl/49633070/52fecde/ ... h.ifs.html

Code: Select all

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('<strong>Treffer</strong>', Page2, 0);
   if LineNr <> -1 then
   begin
   //-------------..
   Line := Page2.GetString(LineNr);
   AnzahlSuchTreffer:= TextBetween (Line,'<strong>Treffer</strong> [',']');
   AnzahlPos:=StrToInt(AnzahlSuchTreffer,AnzahlPos);
     while (AnzahlPos) > 0    do
      begin
        LineNr := FindLine('<tr>', 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" /> <a href=');
     MovieUrl :=  TextBetween(MovieTitle,'forward.php?id=','">');
     MovieTitle := TextBetween (MovieTitle,'id='+MovieUrl,'</a>');
    MovieTitle := StringReplace(MovieTitle,'</span>','');
      MovieTitle := StringReplace(MovieTitle,'<span class="highlight">','');
    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" /> <a href=');
     MovieUrl :=  TextBetween(MovieTitle,'forward.php?id=','">');
     MovieTitle := TextBetween (MovieTitle,'">','</a');
    MovieTitle := StringReplace(MovieTitle,'</span>','');
     MovieTitle := StringReplace(MovieTitle,'<span class="highlight">','');
       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" /> <a href=');
     MovieUrl :=  TextBetween(MovieTitle,'forward.php?id=','">');
     MovieTitle := TextBetween (MovieTitle,'">','</a');
    MovieTitle := StringReplace(MovieTitle,'</span>','');
     MovieTitle := StringReplace(MovieTitle,'<span class="highlight">','');
     MovieTitle := StringReplace(MovieTitle,'<span class="highlight">','');
      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=','&amp');
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('<td valign="top" class="atitle1">Original</td>', Page, 0);
  if LineNr <> -1 then
  begin
    Line := Page.GetString(LineNr+1);

    Item := TextBetween (Line, '<td class="acontent1">', '</td>');

    HTMLDecode(Item);

    SetField(fieldOriginalTitle, Trim (Item));
  end;




  ////Translated Englisch + Synonyme ..
  LineNr := FindLine('<td valign="top" class="atitle1">Englisch</td>', Page, 0);
  if LineNr <> -1 then
  begin
    Line := Page.GetString(LineNr+1);

    Item := TextBetween (Line, '<td class="acontent1">', '</td>');

    //HTMLDecode(Item);

    LineNr := FindLine('<td valign="top" class="atitle1">Synonym</td>', Page, 0);
  if LineNr <> -1 then
  begin
       Line := Page.GetString(LineNr+1);

    Item := Item + ',' + TextBetween (Line, '<td class="acontent1">', '</td>');
 end;
  SetField(fieldTranslatedTitle, Trim (Item));
  end;

  //Typ + Anzahl Episode, Jahr

  LineNr := FindLine('<td valign="top" class="atitle2">Typ / Jahr</td>', Page, 0);
  if LineNr <> -1 then
  begin
  Line := Page.GetString(LineNr+1);
  Item := TextBetween (Line, '<td class="acontent2">', ', ');
  SetField(fieldSource, Trim (Item));
  Item := TextBetween (Line, '<strong>', '</strong>');
  SetField(fieldDisks, Trim (Item));
  Item := TextBetween (Line, '/ ', '</td>');
  Item := Copy(Item,1,4);
  SetField(fieldYear, Trim (Item));

  end;

  //Land

  LineNr := FindLine('tlich in</td>', Page, 0);
  if LineNr <> -1 then
  begin
  Line := Page.GetString(LineNr+1);
  Item := TextBetween (Line, '<td class="acontent1">', '</td>');
  SetField(fieldCountry, Trim (Item));
  end;

   // Personen << Muss ich mal schauen >>



   //Beschreibung = Firmen + Webseite + Beschreibung
     LineNr := FindLine('<td valign="top" class="atitle1">Firmen</td>', Page, 0);
  if LineNr <> -1 then
  begin
  Line := Page.GetString(LineNr+1);
  Item := TextBetween (Line, '<td class="acontent1">', '</td>');
  HTMLDecode(Item);
  end;
     LineNr := FindLine('<td valign="top" class="atitle2">Webseite</td>', Page, 0);
  if LineNr <> -1 then
  begin
  Line := Page.GetString(LineNr+1);
  Item := Item + '<br>' + TextBetween (Line, '<td class="acontent2">', '</td>');
  HTMLDecode(Item);
  end;
     LineNr := FindLine('<div class="xhead bold">Anime Kurzbeschreibung</div>', Page, 0);
  if LineNr <> -1 then
  begin
  Line := Page.GetString(LineNr);
  Item := '<br>' + Item + TextBetween (Line, ';">', '</div>');
  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, '<img src="', '"');
  Item := 'http://anisearch.de/'+ Item;
GetPicture(Item);
  end;
  



end;


begin
  if CheckVersion(3,5,0) then
  begin
    MovieName := GetField(fieldOriginalTitle);
    if MovieName = '' then
      MovieName := GetField(fieldTranslatedTitle);
    if Input('AniSearch', 'Titel des Filmes:', MovieName) then
    begin
      AnalyzePage('http://anisearch.de/index.php?page=suche&mode=auswahl&qsearch=' + UrlEncode(MovieName));
    end;
  end else
  ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.5.0)');
end.
bad4u
Posts: 1148
Joined: 2006-12-11 22:54:46

Re: [REL] aniSearch.de [DE]

Post by bad4u »

Kenji84 wrote:Was ich leider auch nicht ausgefiltert bekomme sind die HTML Tags (Wie Links).

Code: Select all

HTMLRemoveTags(Item);
Zum Entfernen von HTML Code in einer Variablen ;)
Post Reply