Page 2 of 4

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 16:02:47
by fulvio53s03
filmTv da me funziona.... https://postimg.cc/image/vqu8tevmz/
forse ho dimenticato di postare qualche variazione?

filmTv works for me .... https://postimg.cc/image/vqu8tevmz/
maybe I forgot to post some variation?

Code: Select all

(***************************************************

Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/

[Infos]
Authors=Fulvio53s03 (based on Fiezul, PIvello, Valerino & others works).
Title=FilmTV
Description=Get movie info from Film TV
Site=www.Film.TV.it
Language=IT
Version=3.4.3    13.3.2018
Requires=4.2.0
Comments=
License=
GetInfo=1
RequiresMovies=1

[Options]

[Parameters]
MaxPreview=|1|Show more info in search results list (0 = false, 1 = true)

***************************************************)

program FilmTVIt;
uses
  StringUtils7552;   // Script needs external unit StringUtils7552.pas in scripts folder !
const
  //Query constants
  UrlBase = 'https://www.film.tv.it';
  QueryBase = UrlBase + '/cerca/?q=';
  QueryFilm = UrlBase + '';

  //Search page constants
  debug_search = false;
  folder = 'd:\';
  Apice = #39;
  xFilmSearchStart = '<article';                              // HTML start marker movie block
  xFilmSearchEnd = '</article>';                              // HTML end marker movie block
  xResultTypeStart = '<div class="etichetta-serp">';          // Block type start marker. Possible blocks: FILM, RECENSIONE, POST ...
  xResultTypeEnd = '<';                                       // Block type end marker
  xFilmUrlStart = '<h2 class="title-item-scheda"><a href="';  // URL start marker
  xFilmUrlEnd = '"';                                          // URL end marker
  xTitleStart = ' title="';                                   // Title start marker
  xTitleEnd = '"';                                            // Title end marker
  xOriginalTitleStart = '<li>Titolo originale: <span>';       // Original title start marker
  xOriginalTitleEnd = '<span>';                               // Original title end marker
  xCategoryStart = '<li>Genere: <span>';                      // Category start marker
  xCategoryEnd = '</span>';                                   // Category end marker
  xDirectorsStart = 'Regia: <span>';                          // Directors start marker
  xDirectorsEnd = '</span>';                                  // Directors end marker
  xYearStart = '<span class="anno">';                         // Year start marker
  xYearEnd = '</span>';                                       // Year end marker
  
  //Film page constants
  cTranslTitleStart = '<div class="wrap-head">';    // Translated title start marker
  cTranslTitleEnd = '<div class=';                  // Translated title end marker
  cOrigTitleStart = '[<i>';                         // Original title start marker
  cOrigTitleEnd = '</i>';                           // Original title end marker
  cImgLinkExtStart = '<figure class="locandina">';  // Image start marker
  cImgLinkExtEnd = '</figure>';                     // Image end marker  
  cImgLinkIntStart = '<img src="';                  // Image start marker
  cImgLinkIntEnd = '"';                             // Image end marker
  cDirectorStart = 'Regia di';                      // Single Director start marker
  cDirectorEnd = '</p>';                            // Single Director end marker
  cCastStart = 'Con</span>';                        // Cast start marker
  cCastEnd = '<strong>';                            // Cast end marker
  cDescStart = '<h2>Trama</h2>';                    // Description start marker  //FS2012-11-11
  cDescEnd = '</p>';                                // Description end marker
  cCommStart = '<blockquote>';                      //fs2013-02-11
  cCommEnd = '</blockquote>';                       // Comment end marker
  
var
  searchUrl, MovieUrl, MovieName, OriginalStr, TranslatedStr, PageStr:  string;
  MoviesFound: integer;

// --------------------------------non più usato post versione 3.3.2 per velocizzare ricerca ------------------
// PAGE PACKING (remove extra spaces, tabs & CR) by Pivello
// IN:  page Url     (string)
// OUT: compact page (string)
// --------------------------------------------------
function RemoveextraChars(Url: string): string;
var
  Page: TStringList;
  TmpPageStr: string;
  Temp: string;
  PackedPage: string;
  CharPos: Integer;
  n: Integer;
begin
  Page := TStringList.Create;
  TmpPageStr := '';

  Page.Text := GetPage(Url);
  for n := 0 to Page.Count - 1 do
    PackedPage := PackedPage + ' ' + Page.GetString(n);
  repeat
    CharPos := pos('  ', PackedPage);
    if CharPos = 0 then
      CharPos := pos(#9, PackedPage);
    if CharPos <> 0 then
      begin
        Temp := copy(PackedPage, 1, CharPos - 1);
        Delete(PackedPage, 1, CharPos);
        PackedPage := Temp + PackedPage;
      end;
  until((pos('  ', PackedPage) = 0) and (pos(#9, PackedPage) = 0));
  result := PackedPage;
  Page.Free;

end;

// -----------------------
// ANALYZE MOVIE DATA PAGE
// IN:  none
// OUT: set Ant fields
// -----------------------
procedure SetMovieFields (htmlStr: string);
var
  i, h, m: integer;
  CharPos, lungo, posbar: integer;
  Duration, Description, Cast, TempStr, TempImg, hh, mm,temp: string;
  tempDirector, director: string;
  PosParAperta, PosParChiusa: integer;
  imageLink: string;
  sep1, sep2: string;
  SaveHtmlstr, tempvar : string;
  dati_generali, Title_orig, Paese, Anno, Categoria, durata : string;
begin
  SetField(fieldDate, DateToStr(Date));
  // General movie description fields
  anno := '';
  TranslatedStr := TextBetween(htmlStr, cTranslTitleStart, cTranslTitleEnd);
  TranslatedStr := TextBetween(TranslatedStr, '<h1>', '</h1>');
  if length(Translatedstr) < 1 then
    begin
    TranslatedStr := TextBetween(htmlStr, cTranslTitleStart, cTranslTitleEnd);
    TranslatedStr := TextBetween(TranslatedStr, '<h1 >', '</h1>');
    end;
  SetField(fieldTranslatedTitle, AnsiMixedCase(AnsiLowerCase(TranslatedStr), ' '));    //Titolo Tradotto

//Dati Generali (tit.orig, paese, anno, genere, durata ecc.)
//  Dati_generali := TextBetween(htmlStr, '<div class="wrap-head-content cf"', '<div class="visione cf">');
  Dati_generali := FullTrim(TextBetween(htmlStr, '<ul class="info cf">', '</ul>'));          //fs2016.09.28
  Title_orig := TextBetween(Dati_generali, '<li><h2>', '</h2></li>');
  lungo := (length(Title_orig) + 18);
  Title_orig := FullTrim(TextBetween(Dati_generali, '<li><h2>', '</h2></li>'));
  Title_orig := AnsiMixedCase(AnsiLowerCase(Title_orig), ' ');
  if  title_orig <> getfield(fieldTranslatedTitle) then
      SetField(fieldOriginalTitle, Title_orig);

//Delete(Line,1,pos('size="2"><a',Line))
  if length(Title_orig) > 0 then          //altri paesi
     begin
     Delete(Dati_generali, 1, lungo);
     Paese := TextBetween(Dati_generali, '<li>', '<time>');                //fs2016.09.29
     Anno := TextBetween(Dati_generali, '<time>', '</time>');
     Categoria := fulltrim(Textbetween(Dati_generali, '<span>Genere:</span>', '</li>'));
     durata := fulltrim(Textbetween(Dati_generali, '<span>durata</span>', '</li>'));
     end
     else
     begin                                              //Italia
     Paese := TextBetween(Dati_generali, '<li>', '<time>');
     Anno := TextBetween(Dati_generali, '<time>', '</time>');
     Categoria := fulltrim(Textbetween(Dati_generali, '<span>Genere:</span>', '</li>'));
     durata := fulltrim(Textbetween(Dati_generali, '<span>durata</span>', '</li>'));
     end;

  HTMLRemoveTags(Paese);
  PosBar := AnsiLastPosEx(',', Paese, true, true);
  if   PosBar > 0 then
       delete(Paese, (posbar), (length(Paese) - PosBar));           //cut old filename

  Paese := Fulltrim(Paese);
  SetField(fieldCountry, Paese);
  SetField(fieldYear, Anno);
  HTMLRemoveTags(Categoria);
  SetField(fieldCategory, Categoria);
  temp := Textbefore(durata, apice, '');
  SetField(fieldLength, temp);

//Get Director
  temp := TextBetween(htmlstr, cDirectorStart, cDirectorEnd);
  HTMLRemoveTags(temp);
  HTMLDecode(temp);
  temp := fulltrim(temp);
  setfield(FieldDirector, Temp);

//Get Actors
  temp := TextBetween(htmlStr, cCastStart,cCastEnd);
  HTMLRemoveTags(temp);                       //fs 2012-04-03
  HTMLDecode(temp);
  SetField(fieldActors, FullTrim(temp))

//Get comments
  SaveHtmlstr := htmlstr;
  if debug_search then
      DumpPage(folder+'FilmTvTrama.txt', SaveHtmlstr);                // debug
  temp := Textbetween(htmlStr, cDescStart, cDescEnd);
  HTMLRemoveTags(temp);                       //fs 2012-04-03
  HTMLDecode(temp);
  SetField(fieldDescription, FullTrim(temp));

  temp := TextBetween(HtmlStr, cCommStart, cCommEnd);
  HTMLRemoveTags(temp);
  HTMLDecode(temp);
  SetField(fieldComments, FullTrim(temp));
  htmlstr := SaveHtmlstr;

  //Get URL
  SetField(fieldURL, movieurl);

  //Get image     https://ftv01.stbm.it/imgbank/GALLERYXL/R201404/the_english_teacher_poster_ita.jpg
  imagelink := TextBetween(htmlStr, cImgLinkExtStart, cImgLinkExtEnd);
  imagelink := TextBetween(imagelink, cImgLinkIntStart, cImgLinkIntEnd);
//  setfield(FieldSubTitles, imagelink);
//  if imagelink <> 'https://www.film.tv.it/imgbank/DUMMY/no_locandina.jpg'  then
    if imagelink <> 'https://ftv01.stbm.it/imgbank/DUMMY/no_locandina.jpg'  then
       GetPicture2(imagelink, movieurl);

//     GetPicture(imagelink);

end;

//###############################################
//##############################################
//Returns a text field from an input string strIn (pagestr)
//delIn and delOut: text field delimiters
//##############################################
function getTextDelimited(lIn:string; lOut:string;Var strIn:string): string;
var
  StartPos: integer;
  len:integer;
  tempStr: string;
begin
  StartPos := pos(lIn, strIn);
  if StartPos<>0 then
  begin
    StartPos := StartPos+Length(lIn);
    tempStr := copy(strIn,StartPos,StartPos+length(strIn));
    len := pos(lOut, tempStr);

    if len=0 then
      result := ''
    else
      result := copy(strIn, StartPos, len-1); // get Text Out
    Delete(strIn, 1, StartPos-1 + len-1 + length(lOut)-2);
  end
  else
    result := '';
  HTMLDecode(result);
end;


// ------------------------------------------------------------------
// FILL PICKTREE CONTROL WITH LINKS & TITLES AND RETURNS LAST FILM LINK
// ------------------------------------------------------------------
function PopulatePickTree(): string;
var
  filmHTML, filmUrl, partialUrl, resultType: string;
  filmTitle, filmOriginalTitle, filmCategory, filmYear, filmDirectors: string;
  filmSearched: string;
begin
      PickTreeClear;
      filmSearched := getfield(fieldFilePath);
      if filmSearched = '' then
         filmSearched := MovieName;
      if ((GetParam('MaxPreview') <> '0') AND ((GetField(fieldYear) <> '') OR (GetField(fieldDirector) <> '') OR (GetField(fieldCategory) <> ''))) then
        filmSearched := filmSearched + ' (stored fields: ' + GetField(fieldYear) + ', ' + GetField(fieldDirector) + ', ' + GetField(fieldCategory) + ')';
      PickTreeAdd('Risultati ricerca per "' + filmSearched + '":', '');
      filmUrl := '';
      repeat
        filmHTML := getTextDelimited(xFilmSearchStart, xFilmSearchEnd, PageStr);
        resultType := getTextDelimited(xResultTypeStart, xResultTypeEnd, filmHTML);
        if ((resultType <> 'RECENSIONE') AND (resultType <> 'POST')) then
        begin
          partialUrl := getTextDelimited(xFilmUrlStart, xFilmUrlEnd, filmHTML);
          if partialUrl<>'' then
          begin
            filmUrl := UrlBase + partialUrl;
            filmTitle := getTextDelimited(xTitleStart, xTitleEnd, filmHTML);
            filmOriginalTitle := getTextDelimited(xOriginalTitleStart, xOriginalTitleEnd, filmHTML);
            filmCategory := getTextDelimited(xCategoryStart, xCategoryEnd, filmHTML);
            filmYear := getTextDelimited(xYearStart, xYearEnd, filmHTML);
            filmDirectors := getTextDelimited(xDirectorsStart, xDirectorsEnd, filmHTML);
            if GetParam('MaxPreview') = '0' then
              begin
                filmTitle := filmTitle + ' (' + filmYear + ')';
              end
            else
              begin
                if filmOriginalTitle<>'' then
                  filmTitle := filmTitle + ' - ' + filmOriginalTitle;
                filmTitle := filmTitle + ' (' + filmYear;
                if filmDirectors<>'' then
                  filmTitle := filmTitle + ' - ' + filmDirectors;
                if filmCategory<>'' then
                  filmTitle := filmTitle + ' - ' + filmCategory;
                filmTitle := filmTitle + ')';
              end;
            MoviesFound := MoviesFound + 1;
            PickTreeAdd(filmTitle, filmUrl);
          end;
        end;
      until (partialUrl='');
      PopulatePickTree := filmUrl;
end;


// ---------------------------------
// ANALYZE FIRST SEARCH RESULT PAGE:
// IN:  html of search page (string)
// OUT: movie url
// ---------------------------------
function analyzePage(htmlSearchPage: string): string;
var
  FilmId: string;
begin
  result := '';
  if pos('Non ho trovato nulla!', htmlSearchPage) > 0 then
    begin
      ShowMessage('Title not found / Nessun film trovato.');
      analyzePage := ''
    end
  else
    begin
      analyzePage := PopulatePickTree();
      if  MoviesFound > 1 then
          begin
          if not PickTreeExec(result) then
             begin
                MoviesFound := 0;
                exit;
             end
          end;
      if  MoviesFound <= 1 then
//          begin
//          if not PickTreeExec(result) then
             exit;                    //Select one title
//          end;
    end;
end;


// ----------
// MAIN:
// IN:  none
// OUT: none
// ----------
begin
  if CheckVersion(4,2,0) then
    begin
      TranslatedStr := GetField(fieldTranslatedTitle);
      OriginalStr := GetField(fieldOriginalTitle);
      if (TranslatedStr <> '') then
        MovieName := TranslatedStr
      else
        MovieName := OriginalStr;
      if (Input('Film.TV.It', 'Enter the title of the movie / Inserire titolo del film:', MovieName)) then
        begin
          //Get search page
          MoviesFound := 0;
// https://www.filmtv.it/cerca/?q=dalle+9+alle+5+orario+continuato
//          searchUrl := QueryBase + UrlEncode(MovieName);
            searchUrl := QueryBase + Stringreplace(MovieName, ' ', '+');
            searchUrl := AnsiLowerCaseNoAccents(searchurl);       //fs 2016.09.05
//FS 2016.02.24                    PageStr := RemoveextraChars(searchUrl);
          Pagestr := GetPage(searchUrl);      //FS 2016.02.24
          PageStr := UTF8Decode(PageStr);
          //Analyze search page and get movie url (user choice)
          MovieUrl := analyzePage(PageStr);
          // Get movie page
          if MoviesFound = 0 then
              exit;
//FS 2016.02.24          PageStr := RemoveextraChars(MovieUrl);
          Pagestr := GetPage(MovieUrl);      //FS 2016.02.24
          PageStr := UTF8Decode(PageStr);
          Pagestr := Stringreplace(Pagestr, '&rsquo;', '´');
          //Analyze movie page and set movie fields
          SetMovieFields(PageStr);
        end;
    end
  else
    ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 4.2.0)');
end.

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 16:30:21
by otreux
ora funziona ;) Ma non trovo l'opzione per scaricare le locandine grandi, quelle che scarica sono piccole, ad esempio Avengers: Infinity War

now works ;) But I do not find the option to download the big posters, the ones you download are small, like Avengers: Infinity War

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 17:08:27
by fulvio53s03
otreux wrote: 2018-05-01 16:30:21 ora funziona ;) ...non trovo l'opzione per scaricare le locandine grandi
Il sito sembra non avere più quell'opportunità.

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 18:08:34
by 100celle83
di quelli da te citato nessuno funziona....

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 19:20:52
by fulvio53s03
100celle83 wrote: 2018-05-01 18:08:34 di quelli da te citato nessuno funziona....
nessuno funziona con quale film?
per esempio, prova "lucertola" con Kultvideo.... Se non estrae dati, temo tu debba aggiornare Windows, oppure AMC, oppure lo script oppure..... non so cos'altro suggerire.
:(

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 19:21:44
by 100celle83
fulvio53s03 wrote: 2018-05-01 16:02:47 filmTv da me funziona.... https://postimg.cc/image/vqu8tevmz/
forse ho dimenticato di postare qualche variazione?

filmTv works for me .... https://postimg.cc/image/vqu8tevmz/
maybe I forgot to post some variation?

Code: Select all

(***************************************************

Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/

[Infos]
Authors=Fulvio53s03 (based on Fiezul, PIvello, Valerino & others works).
Title=FilmTV
Description=Get movie info from Film TV
Site=www.Film.TV.it
Language=IT
Version=3.4.3    13.3.2018
Requires=4.2.0
Comments=
License=
GetInfo=1
RequiresMovies=1

[Options]

[Parameters]
MaxPreview=|1|Show more info in search results list (0 = false, 1 = true)

***************************************************)

program FilmTVIt;
uses
  StringUtils7552;   // Script needs external unit StringUtils7552.pas in scripts folder !
const
  //Query constants
  UrlBase = 'https://www.film.tv.it';
  QueryBase = UrlBase + '/cerca/?q=';
  QueryFilm = UrlBase + '';

  //Search page constants
  debug_search = false;
  folder = 'd:\';
  Apice = #39;
  xFilmSearchStart = '<article';                              // HTML start marker movie block
  xFilmSearchEnd = '</article>';                              // HTML end marker movie block
  xResultTypeStart = '<div class="etichetta-serp">';          // Block type start marker. Possible blocks: FILM, RECENSIONE, POST ...
  xResultTypeEnd = '<';                                       // Block type end marker
  xFilmUrlStart = '<h2 class="title-item-scheda"><a href="';  // URL start marker
  xFilmUrlEnd = '"';                                          // URL end marker
  xTitleStart = ' title="';                                   // Title start marker
  xTitleEnd = '"';                                            // Title end marker
  xOriginalTitleStart = '<li>Titolo originale: <span>';       // Original title start marker
  xOriginalTitleEnd = '<span>';                               // Original title end marker
  xCategoryStart = '<li>Genere: <span>';                      // Category start marker
  xCategoryEnd = '</span>';                                   // Category end marker
  xDirectorsStart = 'Regia: <span>';                          // Directors start marker
  xDirectorsEnd = '</span>';                                  // Directors end marker
  xYearStart = '<span class="anno">';                         // Year start marker
  xYearEnd = '</span>';                                       // Year end marker
  
  //Film page constants
  cTranslTitleStart = '<div class="wrap-head">';    // Translated title start marker
  cTranslTitleEnd = '<div class=';                  // Translated title end marker
  cOrigTitleStart = '[<i>';                         // Original title start marker
  cOrigTitleEnd = '</i>';                           // Original title end marker
  cImgLinkExtStart = '<figure class="locandina">';  // Image start marker
  cImgLinkExtEnd = '</figure>';                     // Image end marker  
  cImgLinkIntStart = '<img src="';                  // Image start marker
  cImgLinkIntEnd = '"';                             // Image end marker
  cDirectorStart = 'Regia di';                      // Single Director start marker
  cDirectorEnd = '</p>';                            // Single Director end marker
  cCastStart = 'Con</span>';                        // Cast start marker
  cCastEnd = '<strong>';                            // Cast end marker
  cDescStart = '<h2>Trama</h2>';                    // Description start marker  //FS2012-11-11
  cDescEnd = '</p>';                                // Description end marker
  cCommStart = '<blockquote>';                      //fs2013-02-11
  cCommEnd = '</blockquote>';                       // Comment end marker
  
var
  searchUrl, MovieUrl, MovieName, OriginalStr, TranslatedStr, PageStr:  string;
  MoviesFound: integer;

// --------------------------------non più usato post versione 3.3.2 per velocizzare ricerca ------------------
// PAGE PACKING (remove extra spaces, tabs & CR) by Pivello
// IN:  page Url     (string)
// OUT: compact page (string)
// --------------------------------------------------
function RemoveextraChars(Url: string): string;
var
  Page: TStringList;
  TmpPageStr: string;
  Temp: string;
  PackedPage: string;
  CharPos: Integer;
  n: Integer;
begin
  Page := TStringList.Create;
  TmpPageStr := '';

  Page.Text := GetPage(Url);
  for n := 0 to Page.Count - 1 do
    PackedPage := PackedPage + ' ' + Page.GetString(n);
  repeat
    CharPos := pos('  ', PackedPage);
    if CharPos = 0 then
      CharPos := pos(#9, PackedPage);
    if CharPos <> 0 then
      begin
        Temp := copy(PackedPage, 1, CharPos - 1);
        Delete(PackedPage, 1, CharPos);
        PackedPage := Temp + PackedPage;
      end;
  until((pos('  ', PackedPage) = 0) and (pos(#9, PackedPage) = 0));
  result := PackedPage;
  Page.Free;

end;

// -----------------------
// ANALYZE MOVIE DATA PAGE
// IN:  none
// OUT: set Ant fields
// -----------------------
procedure SetMovieFields (htmlStr: string);
var
  i, h, m: integer;
  CharPos, lungo, posbar: integer;
  Duration, Description, Cast, TempStr, TempImg, hh, mm,temp: string;
  tempDirector, director: string;
  PosParAperta, PosParChiusa: integer;
  imageLink: string;
  sep1, sep2: string;
  SaveHtmlstr, tempvar : string;
  dati_generali, Title_orig, Paese, Anno, Categoria, durata : string;
begin
  SetField(fieldDate, DateToStr(Date));
  // General movie description fields
  anno := '';
  TranslatedStr := TextBetween(htmlStr, cTranslTitleStart, cTranslTitleEnd);
  TranslatedStr := TextBetween(TranslatedStr, '<h1>', '</h1>');
  if length(Translatedstr) < 1 then
    begin
    TranslatedStr := TextBetween(htmlStr, cTranslTitleStart, cTranslTitleEnd);
    TranslatedStr := TextBetween(TranslatedStr, '<h1 >', '</h1>');
    end;
  SetField(fieldTranslatedTitle, AnsiMixedCase(AnsiLowerCase(TranslatedStr), ' '));    //Titolo Tradotto

//Dati Generali (tit.orig, paese, anno, genere, durata ecc.)
//  Dati_generali := TextBetween(htmlStr, '<div class="wrap-head-content cf"', '<div class="visione cf">');
  Dati_generali := FullTrim(TextBetween(htmlStr, '<ul class="info cf">', '</ul>'));          //fs2016.09.28
  Title_orig := TextBetween(Dati_generali, '<li><h2>', '</h2></li>');
  lungo := (length(Title_orig) + 18);
  Title_orig := FullTrim(TextBetween(Dati_generali, '<li><h2>', '</h2></li>'));
  Title_orig := AnsiMixedCase(AnsiLowerCase(Title_orig), ' ');
  if  title_orig <> getfield(fieldTranslatedTitle) then
      SetField(fieldOriginalTitle, Title_orig);

//Delete(Line,1,pos('size="2"><a',Line))
  if length(Title_orig) > 0 then          //altri paesi
     begin
     Delete(Dati_generali, 1, lungo);
     Paese := TextBetween(Dati_generali, '<li>', '<time>');                //fs2016.09.29
     Anno := TextBetween(Dati_generali, '<time>', '</time>');
     Categoria := fulltrim(Textbetween(Dati_generali, '<span>Genere:</span>', '</li>'));
     durata := fulltrim(Textbetween(Dati_generali, '<span>durata</span>', '</li>'));
     end
     else
     begin                                              //Italia
     Paese := TextBetween(Dati_generali, '<li>', '<time>');
     Anno := TextBetween(Dati_generali, '<time>', '</time>');
     Categoria := fulltrim(Textbetween(Dati_generali, '<span>Genere:</span>', '</li>'));
     durata := fulltrim(Textbetween(Dati_generali, '<span>durata</span>', '</li>'));
     end;

  HTMLRemoveTags(Paese);
  PosBar := AnsiLastPosEx(',', Paese, true, true);
  if   PosBar > 0 then
       delete(Paese, (posbar), (length(Paese) - PosBar));           //cut old filename

  Paese := Fulltrim(Paese);
  SetField(fieldCountry, Paese);
  SetField(fieldYear, Anno);
  HTMLRemoveTags(Categoria);
  SetField(fieldCategory, Categoria);
  temp := Textbefore(durata, apice, '');
  SetField(fieldLength, temp);

//Get Director
  temp := TextBetween(htmlstr, cDirectorStart, cDirectorEnd);
  HTMLRemoveTags(temp);
  HTMLDecode(temp);
  temp := fulltrim(temp);
  setfield(FieldDirector, Temp);

//Get Actors
  temp := TextBetween(htmlStr, cCastStart,cCastEnd);
  HTMLRemoveTags(temp);                       //fs 2012-04-03
  HTMLDecode(temp);
  SetField(fieldActors, FullTrim(temp))

//Get comments
  SaveHtmlstr := htmlstr;
  if debug_search then
      DumpPage(folder+'FilmTvTrama.txt', SaveHtmlstr);                // debug
  temp := Textbetween(htmlStr, cDescStart, cDescEnd);
  HTMLRemoveTags(temp);                       //fs 2012-04-03
  HTMLDecode(temp);
  SetField(fieldDescription, FullTrim(temp));

  temp := TextBetween(HtmlStr, cCommStart, cCommEnd);
  HTMLRemoveTags(temp);
  HTMLDecode(temp);
  SetField(fieldComments, FullTrim(temp));
  htmlstr := SaveHtmlstr;

  //Get URL
  SetField(fieldURL, movieurl);

  //Get image     https://ftv01.stbm.it/imgbank/GALLERYXL/R201404/the_english_teacher_poster_ita.jpg
  imagelink := TextBetween(htmlStr, cImgLinkExtStart, cImgLinkExtEnd);
  imagelink := TextBetween(imagelink, cImgLinkIntStart, cImgLinkIntEnd);
//  setfield(FieldSubTitles, imagelink);
//  if imagelink <> 'https://www.film.tv.it/imgbank/DUMMY/no_locandina.jpg'  then
    if imagelink <> 'https://ftv01.stbm.it/imgbank/DUMMY/no_locandina.jpg'  then
       GetPicture2(imagelink, movieurl);

//     GetPicture(imagelink);

end;

//###############################################
//##############################################
//Returns a text field from an input string strIn (pagestr)
//delIn and delOut: text field delimiters
//##############################################
function getTextDelimited(lIn:string; lOut:string;Var strIn:string): string;
var
  StartPos: integer;
  len:integer;
  tempStr: string;
begin
  StartPos := pos(lIn, strIn);
  if StartPos<>0 then
  begin
    StartPos := StartPos+Length(lIn);
    tempStr := copy(strIn,StartPos,StartPos+length(strIn));
    len := pos(lOut, tempStr);

    if len=0 then
      result := ''
    else
      result := copy(strIn, StartPos, len-1); // get Text Out
    Delete(strIn, 1, StartPos-1 + len-1 + length(lOut)-2);
  end
  else
    result := '';
  HTMLDecode(result);
end;


// ------------------------------------------------------------------
// FILL PICKTREE CONTROL WITH LINKS & TITLES AND RETURNS LAST FILM LINK
// ------------------------------------------------------------------
function PopulatePickTree(): string;
var
  filmHTML, filmUrl, partialUrl, resultType: string;
  filmTitle, filmOriginalTitle, filmCategory, filmYear, filmDirectors: string;
  filmSearched: string;
begin
      PickTreeClear;
      filmSearched := getfield(fieldFilePath);
      if filmSearched = '' then
         filmSearched := MovieName;
      if ((GetParam('MaxPreview') <> '0') AND ((GetField(fieldYear) <> '') OR (GetField(fieldDirector) <> '') OR (GetField(fieldCategory) <> ''))) then
        filmSearched := filmSearched + ' (stored fields: ' + GetField(fieldYear) + ', ' + GetField(fieldDirector) + ', ' + GetField(fieldCategory) + ')';
      PickTreeAdd('Risultati ricerca per "' + filmSearched + '":', '');
      filmUrl := '';
      repeat
        filmHTML := getTextDelimited(xFilmSearchStart, xFilmSearchEnd, PageStr);
        resultType := getTextDelimited(xResultTypeStart, xResultTypeEnd, filmHTML);
        if ((resultType <> 'RECENSIONE') AND (resultType <> 'POST')) then
        begin
          partialUrl := getTextDelimited(xFilmUrlStart, xFilmUrlEnd, filmHTML);
          if partialUrl<>'' then
          begin
            filmUrl := UrlBase + partialUrl;
            filmTitle := getTextDelimited(xTitleStart, xTitleEnd, filmHTML);
            filmOriginalTitle := getTextDelimited(xOriginalTitleStart, xOriginalTitleEnd, filmHTML);
            filmCategory := getTextDelimited(xCategoryStart, xCategoryEnd, filmHTML);
            filmYear := getTextDelimited(xYearStart, xYearEnd, filmHTML);
            filmDirectors := getTextDelimited(xDirectorsStart, xDirectorsEnd, filmHTML);
            if GetParam('MaxPreview') = '0' then
              begin
                filmTitle := filmTitle + ' (' + filmYear + ')';
              end
            else
              begin
                if filmOriginalTitle<>'' then
                  filmTitle := filmTitle + ' - ' + filmOriginalTitle;
                filmTitle := filmTitle + ' (' + filmYear;
                if filmDirectors<>'' then
                  filmTitle := filmTitle + ' - ' + filmDirectors;
                if filmCategory<>'' then
                  filmTitle := filmTitle + ' - ' + filmCategory;
                filmTitle := filmTitle + ')';
              end;
            MoviesFound := MoviesFound + 1;
            PickTreeAdd(filmTitle, filmUrl);
          end;
        end;
      until (partialUrl='');
      PopulatePickTree := filmUrl;
end;


// ---------------------------------
// ANALYZE FIRST SEARCH RESULT PAGE:
// IN:  html of search page (string)
// OUT: movie url
// ---------------------------------
function analyzePage(htmlSearchPage: string): string;
var
  FilmId: string;
begin
  result := '';
  if pos('Non ho trovato nulla!', htmlSearchPage) > 0 then
    begin
      ShowMessage('Title not found / Nessun film trovato.');
      analyzePage := ''
    end
  else
    begin
      analyzePage := PopulatePickTree();
      if  MoviesFound > 1 then
          begin
          if not PickTreeExec(result) then
             begin
                MoviesFound := 0;
                exit;
             end
          end;
      if  MoviesFound <= 1 then
//          begin
//          if not PickTreeExec(result) then
             exit;                    //Select one title
//          end;
    end;
end;


// ----------
// MAIN:
// IN:  none
// OUT: none
// ----------
begin
  if CheckVersion(4,2,0) then
    begin
      TranslatedStr := GetField(fieldTranslatedTitle);
      OriginalStr := GetField(fieldOriginalTitle);
      if (TranslatedStr <> '') then
        MovieName := TranslatedStr
      else
        MovieName := OriginalStr;
      if (Input('Film.TV.It', 'Enter the title of the movie / Inserire titolo del film:', MovieName)) then
        begin
          //Get search page
          MoviesFound := 0;
// https://www.filmtv.it/cerca/?q=dalle+9+alle+5+orario+continuato
//          searchUrl := QueryBase + UrlEncode(MovieName);
            searchUrl := QueryBase + Stringreplace(MovieName, ' ', '+');
            searchUrl := AnsiLowerCaseNoAccents(searchurl);       //fs 2016.09.05
//FS 2016.02.24                    PageStr := RemoveextraChars(searchUrl);
          Pagestr := GetPage(searchUrl);      //FS 2016.02.24
          PageStr := UTF8Decode(PageStr);
          //Analyze search page and get movie url (user choice)
          MovieUrl := analyzePage(PageStr);
          // Get movie page
          if MoviesFound = 0 then
              exit;
//FS 2016.02.24          PageStr := RemoveextraChars(MovieUrl);
          Pagestr := GetPage(MovieUrl);      //FS 2016.02.24
          PageStr := UTF8Decode(PageStr);
          Pagestr := Stringreplace(Pagestr, '&rsquo;', '´');
          //Analyze movie page and set movie fields
          SetMovieFields(PageStr);
        end;
    end
  else
    ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 4.2.0)');
end.

Come aggiorno lo script ? Non lo trovo dentro script update...potete aiutarmi per favore ?

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 19:33:34
by fulvio53s03
@100celle83: se non è ancora inserito negli script update (si chiama Film.tv.it guarda bene in ordine alfabetico) , devi cliccare su quel Select all che vedi nel post, poi:
- andare nella cartella degli script,
- aprire Film.tv.it.ifs
- selezionare tutto il codice
- incollare
- salvare.

ma gli altri script che ti ho indicato..... perchè dici non funzionano? che errore segnalano?
Scusa se ti sembrro pedante ma senza informazioni non posso aiutarti.
:cool:

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 20:29:29
by otreux
fulvio53s03 wrote: 2018-05-01 17:08:27
otreux wrote: 2018-05-01 16:30:21 ora funziona ;) ...non trovo l'opzione per scaricare le locandine grandi
Il sito sembra non avere più quell'opportunità.
che peccato, era uno dei siti migliori per le locandine :cry:

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 20:57:27
by 100celle83
fulvio53s03 wrote: 2018-05-01 19:33:34 @100celle83: se non è ancora inserito negli script update (si chiama Film.tv.it guarda bene in ordine alfabetico) , devi cliccare su quel Select all che vedi nel post, poi:
- andare nella cartella degli script,
- aprire Film.tv.it.ifs
- selezionare tutto il codice
- incollare
- salvare.

ma gli altri script che ti ho indicato..... perchè dici non funzionano? che errore segnalano?
Scusa se ti sembrro pedante ma senza informazioni non posso aiutarti.
:cool:
ciao ho fatto come hai detto tu..ora su filmtv mi da questo errore:
Error connecting with SSL

Per gli altri danno i seguenti errori:
IBS :IOHandler value is not valid
AF DIGITALE: IOHandler value is not valid
DVD.IT : IOHandler value is not valid
FELTRINELLI: IOHandler value is not valid
Libreria Univers. film : IOHandler value is not valid e dopo HTTP/1.1 400 Bad Request

Gli altri invece non vanno a valorizzare i campi...fa la ricerca ma niente...

grazie

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-01 21:18:14
by antp
100celle83 wrote: 2018-05-01 20:57:27 ciao ho fatto come hai detto tu..ora su filmtv mi da questo errore:
Error connecting with SSL
That may mean that it requires AMC 4.2.2 ( viewtopic.php?f=6&t=6862 )
If so, the version test in the script should be changed. I see that it still checks for version 4.2.0, but the HTTPS itself requires 4.2.1 anyway.
I updated the script on the server as version 3.4.4, but you need to update AMC first anyway (and then redownload the script which will be overwritten by the one included in AMC 4.2.2).

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-02 05:53:33
by 100celle83
ok ho aggiornato ant movie catalog 4.2.2. e i script filmtv e filmup ! Ora funziona !
Gli altri script italiani che ho elencato non funzionano. Penso che bisognerà aggiornarli...
Spero che fulvio sistemi anche gli altri script italiani. Ant movie catalog è veramente bello! Grazie
:clapping:

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-02 07:34:59
by fulvio53s03
Quelli indicati esplicitamente sono cosi obsoleti che devo capire se vale la pena. Wikipedia e comingsoon? Grazie

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-02 08:20:07
by 100celle83
Sono ok ma non li utilizzo...preferisco filmtv ;-)

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-02 10:35:40
by 100celle83
Oltre a Film.tv che altri script italiani ci sono, che hanno anche film non conosciuti ?
Una volta c'era musicafilm.... che era ottimo...

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-02 11:41:49
by fulvio53s03
100celle83 wrote: 2018-05-02 10:35:40 Oltre a Film.tv che altri script italiani ci sono, che hanno anche film non conosciuti ?
Una volta c'era musicafilm.... che era ottimo...
Cosa intendi per "non conosciuti?" come detto sempre, fai un esempio.
Comunque, negli script puoi mettere il filtro "linguaggio" relativo agli script con la lingua italiana ("IT", "IT, ENG", "IT;ENG" ecc.) e provarli.
Facci sapere.
:??:
What do you mean by "not known?" as always said, make an example.
However, in the scripts you can put the "language" filter related to the scripts with the Italian language ("IT", "IT, ENG", "IT; ENG" etc.) and try them.
Let us know.
:??:

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-02 12:13:21
by 100celle83
tipo film netflix, non conosciuti, ossia che non sono usciti al cinema, o che li trasmettono solo in tv. Chiedevo un consiglio su quale script fosse simile a filmtv...


Grazie

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-03 22:34:35
by otreux
cmq è strano che, contemporaneamente, FilmTV e Filmup hanno incominciato a far scaricare le locandine piccole. Fulvio, non è che puoi darci un'occhiata? :(

anyway it is strange that, at the same time, FilmTV and Filmup have started to download small posters. Fulvio, is not that you can take a look? :(

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-04 07:55:36
by fulvio53s03
otreux wrote: 2018-05-03 22:34:35 cmq è strano che, contemporaneamente, FilmTV e Filmup hanno incominciato a far scaricare le locandine piccole. Fulvio, non è che puoi darci un'occhiata? :(

anyway it is strange that, at the same time, FilmTV and Filmup have started to download small posters. Fulvio, is not that you can take a look? :(
L'impostazione della pagina di FilmTV è completamente cambiata e quasi sempre cliccando sulla locandina si accede al trailer e non alla locandina più grande (non credo esista più).
Sullo sfondo, inoltre è stata aggiunta una immagine del film (questo per i film che verificato io).
FilmUP estrae la locandina grande! (prova "Blade Runner" e "Blade Runner 2049).
Se hai esempi contrari (locandina grande esistente e non estratta) ti prego segnalarmeli.

The setting of FilmTV page has completely changed and almost always clicking on the poster you access the trailer and not the larger poster (I think it exists nomore).
In addition, a picture of the film has been added to the background (this for films that I verified).
FilmUP extracts the big poster! (try "Blade Runner" and "Blade Runner 2049).
If you have any contrary example (large and not extracted large poster) please let me know.
:innocent:

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-04 12:35:03
by otreux
Su Filmup...ho provato con Blade Runner e Bald Runner 2049. Col primo non mi ha importato nessun campo tranne sito web e commenti. Col secondo ha importato tutto tranne il titolo originale. Ho provato con Rambo 2 e non mi importa il voto. Sembra che ci siano ancora problemini vari
Sulle locandine sembra che le abbiano ridotte tutte, ho provato a riscaricare vecchi film che avevano la locandina grande ed ora è piccola :badidea:

Sul Filmtv non c'è speranza di aver le locandine grandi? Le hanno ridimensionate anche loro?

I tried with Blade Runner and Bald Runner 2049. With the first one I did not import any field except website and comments. With the second he imported everything except the original title. I tried with Rambo 2 and I do not care about the vote. it seems that there are still various problems
On the posters it seems that they have all reduced, I tried to re-download old movies that had the big poster and now it's small :badidea:

On the Filmtv there is no hope of having the big posters? Did they resize them too?

Thanks!

Re: [UPD ITA] Filmtv.it aggiornato

Posted: 2018-05-04 14:47:27
by fulvio53s03
otreux wrote: 2018-05-04 12:35:03 Sul Filmtv non c'è speranza di aver le locandine grandi? Le hanno ridimensionate anche loro?
come detto, filmTV sembra non avere più le locandine grandi.... se ne trovi una fammi sapere.
FilmUP:
Il voto non è mai stato estratto (che io ricordi).
Il titolo originale non è importato quando è uguale al titolo tradotto.
"Blade Runner" info non estratte, verificherò il motivo dell'errore....
:)