script Filmstarts.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
Utah
Posts: 2
Joined: 2009-08-02 13:18:58
Location: Germany

script Filmstarts.de

Post by Utah »

Hi,
the script Filmstarts.de doesn't find any movie.
Can anybody help? ;)
Greetings, Utah
Kenji84
Posts: 8
Joined: 2010-06-17 09:50:18

Post by Kenji84 »

Hi Teste mal das Script :) habe mal a bissle was am Original Script geändert, wenns geht Poste das bitte .. leider nicht genügend Filme zum testen ..

Code: Select all

// FILMSTARTS.de - Script Version 1.2 (20080525/J)
//
// v.1.3 - 30/06/2010 - third public release

program FILMSTARTS;

uses
  StringUtils1;
var
  MovieName, Value, Value1: string;
    ps: Integer;
procedure AnalyzePage(Address: string);
var
  Page: TStringList;
  RealAddress, TextEnd, TextBody: string;
  Counter: Integer;


begin
  Page := TStringList.Create;
  Value := '';
  Value1 := '';
  TextBody := '';
  Counter := 0;

// ***** Find movie(s)
  begin
    Page.Text := GetPage(Address);
    PickTreeClear;
    Value := Page.Text;


// Looking for search result(s)
    If Pos('leider keine Ergebnisse', Page.Text) = 0 then
      begin
        TextBody := TextBetween(Page.Text, 'Filme', '</table>');
        If length(TextBody) < 1 then
        begin
          TextBody := TextBetween(Page.Text, 'Filme', '</table>');
        end
        Delete (Textbody,1, Pos('Treffer',Textbody));
        Value := TextBetween(TextBody, 'kritiken/', 'html');
// More than one result?
        while Value <> '' do
        begin
// Name & real movie URL
          RealAddress := 'http://www.filmstarts.de/kritiken/' + TextBetween(TextBody, 'kritiken/', 'html') + 'html';
          PickTreeAdd(Value, RealAddress);
          Counter := Counter + 1;

          Delete (TextBody, 1 , Pos('/fs11', TextBody));
            Value := TextBetween(TextBody, 'kritiken/', 'html');
        end;
// Choose movie from list if more than one
        If counter > 1 then PickTreeExec(RealAddress);
        Page.Text := GetPage(RealAddress);
      end
    else
// No movie found
      begin
        ShowMessage('Leider keinen Film zu diesem Namen gefunden.');
        Exit;
      end;
  end;

// ***** Title
  Value := '';
  Value1 := '';
  begin
// German title

      Value := TextBetween(Page.Text, 'left:10px;">', '</div>');
// Original title <> German title?
      if Pos('Originaltitel', Page.Text) > 0 then
        begin

          Value1 := TextBetween(Page.Text, 'Originaltitel: ', '</span>');
          Value1 :=UTF8Decode(Value1);
          HTMLDecode (Value1);
          HTMLRemoveTags(Value1);        ;
            setField(fieldOriginalTitle,Value1 );
        end
      else
      begin
       Value1 := TextBetween(RealAddress, '-', '.h');
       Value1 := StringReplace(Value1,'-',' ');
       setField(fieldOriginalTitle,Value1 );
      end
  end;

// ***** Picture
  Value := '';
  begin
      Value := TextBetween(Page.Text, 'http://bilder.filmstarts.de/', 'jpg');
      If Value <> '' then
        begin

            GetPicture('http://bilder.filmstarts.de/' + Value + 'jpg');


        end;
  end;



// ***** Year & Country
  Value := '';
  Textbody := '';
  begin
      Textbody := TextBetween(Page.Text, 'Produktionsjahr:', '</span>');
      Textbody := Copy(Textbody,Pos('>',Textbody)+1,length(Textbody) - Pos('>',Textbody)+1);
      SetField(fieldYear, Textbody);


  Textbody := TextBetween(Page.Text, 'Produktionsland:', '</span>');
  Textbody := Copy(Textbody,Pos('>',Textbody)+1,length(Textbody) - Pos('>',Textbody)+1);
      setField(fieldCountry, Textbody);
  end;

// ***** Lenght
  Value := '';
  begin
     Value := TextBetween(Page.Text, 'Laufzeit:', ' Minuten');
          Value :=Trim( Value);
      setField(fieldLength, Value);
  end;

// ***** Category
  Value := '';
  if GetOption('Category') = 1 then
    begin
     Textbody := TextBetween(Page.Text, 'Genre:', 'br');
        Textbody :=UTF8Decode(Textbody);
       HTMLRemoveTags(Textbody);
      Textbody := Trim(Textbody);
      setField(fieldCategory, Textbody);
    end;

// ***** URL *****
  setField(fieldURL, RealAddress);

// ***** Actors & director
  Value := '';
  Value1 := '';
  Counter := 0;
  TextBody := '';
// Get director
  begin
    TextBody := TextBetween(Page.Text, 'Regie:', '<br /><br />');
      Textbody :=UTF8Decode(Textbody);
      HTMLRemoveTags(Textbody);
      Textbody := Trim(Textbody);
      Textbody :=StringReplace(Textbody,'mehr','');
    setfield (fieldDirector, Textbody);
  end;


// ***** Description (review/preview) parsing
  Value := '';
  Value1 :='';
  begin
    Textbody :=   TextBetween(Page.Text, 'Inhalt:', '</p>');
    Textbody :=UTF8Decode(Textbody);
    HTMLRemoveTags(Textbody);
 HTMLDecode(Textbody);

     Textbody := Trim(Textbody);
         setfield (fieldDescription, Textbody);
  end;

  end;
// ***** Start of program
begin
  if AcceptLicense(1) = False then
    Exit;
  if CheckVersion(3,5,0) then
    begin
      MovieName := GetField(fieldOriginalTitle);
      if MovieName = '' then
        MovieName := GetField(fieldTranslatedTitle);
      if Input('Filmstarts.de Import', 'Enter the title of the movie:', MovieName) then
      begin
// FILMSTARTS.de handles apostrophes with different & changing characters in search function and title-URL,
// but works mostly with auto-cutting apostrophe and rest of word. (e.g. I´ve --> I).
// -- If that wouldn´t work, type in title without apo-word (e.g. "not there" instead of "i´m not there")
        MovieName := StringReplace (MovieName, #39, '´');
        if Pos('´', MovieName) > 0 then
        Delete (MovieName, Pos('´', MovieName), Length(TextBetween(Moviename, '´', ' ')) + 1);
// Use FILMSTARTS.de internal search function to get working title-URL
        AnalyzePage('http://www.filmstarts.de/suche/1/?q='+UrlEncode(MovieName));
         end;
    end
  else
    ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.5.0)');
end.

http://hotfile.com/dl/51643551/974c9bd/ ... e.ifs.html
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Thanks
Post Reply