Page 1 of 1

[UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-23 08:55:24
by fulvio53s03
waiting for feedback!

Code: Select all

 
  
  Version 3.0.0
   U P D A T E D
   
   
;)

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-23 17:07:01
by antp
Thanks :)

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-23 17:35:21
by otreux
thanks but still gives me problems. When there are more results with the same name IOHandler error still comes out and then I do not download the big poster even if I have checked the option

grazie ma mi da ancora problemi. Quando ci sono più risultati con lo stesso nome mi esce ancora IOHandler error e poi non mi scarica la locandina grande anche se ho spuntato l'opzione :(

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-23 20:34:22
by fulvio53s03
otreux wrote: 2018-04-23 17:35:21 ... Quando ci sono più risultati con lo stesso nome mi esce ancora IOHandler error e poi non mi scarica la locandina grande anche se ho spuntato l'opzione :(
il problema locandina lo devo verificare (in reealtà non lo guardo da un bel po'....).
L'IOhandler non si è verificato nelle mie prove.
Con quale film si verifica?
grazie.

the problem image must be verified (It'a long time I don't take a look....).
IOhandler error did not occur in my tests.
With which film does it occur?
thank you.
:??:

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-23 20:56:35
by otreux
prova con "oltre la notte" o Rambo

ma il problema grosso è la locandina piccola.

try with "over night" or Rambo

but the big problem is the small poster

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-24 05:35:47
by fulvio53s03
Estrazione film e immagini ora OK. Errata estrazione/dimensioni della locandina dipendono dal sito stesso.
:)

Code: Select all

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

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

[Infos]
Authors=Fulvio53s03 & seraphico (Original by Claudio Rinaldi). Thanks to MrObama.
Title=MyMovies
Description=Get movie info from MyMovies.it
Site=www.mymovies.it
Language=IT
Version=3.0.1
Requires=4.2.2
Comments=
License=
GetInfo=1
RequiresMovies=1

[Options]
Poster=0|0|1=Download full-res Poster|0=Download tiny Poster

[Parameters]

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

program MyMoviesIT;

uses
  Stringutils7552;

const
  UrlBase = 'https://www.mymovies.it';
//  UrlRicerca = '&titolo_orig=&regista=&attore=&id_genere=-1&nazione=&clausola1=-1&anno_prod=&clausola2=-1&stelle=-1&id_manif=-1&anno_manif=&disponib=-1&ordinamento=1&submit=Inizia+ricerca+%BB';
    Urlricerca = '&titolo_orig=&regista=&attore=&id_genere=-1&nazione=&clausola1=-1&anno_prod=&clausola2=-1&stelle=-1&id_manif=-1&anno_manif=&disponib=-1&ordinamento=0&submit=Inizia+ricerca+%C2%BB';
  QueryBase = UrlBase + '/database/ricerca/avanzata/?titolo=';
  debug_search = false;                                   // debuga mode on/off su ricerca dischi
  folder = 'f:\prova\';                                   // directory where to save files

  ImagePath = UrlBase + '/filmclub/';
  Apice       = #39;
  NoCommento = '(Riceverai le informazioni pochi giorni prima della messa in onda)';  // commenti inutili  "(la recensione più amata dal pubblico)"
  PiuAmata   = '(la recensione più amata dal pubblico)';
  cStartNumRis = 'nel Titolo. Ho trovato '; // Result Number start Marker
  cEndNumRis = ' film.</h3>';               // Result Number end Marker
  cStartId = 'recensione.asp?id=';   // ID start marker
  EndId = '" title="';              // ID end marker
  cStartNewTitle = '<meta property="og:title" content="';
  cEndNewTitle = '"';
  cStartTitle = 'Titolo originale <em>';             // Title start marker
  cEndTitle = '</em>';              // Title end marker
  cStartTranslTitle = '<h1 style="margin-bottom:3px;">';        // Translated title start marker
  cEndTranslTitle = '</h1>';         // Translated title end marker
  cStartImage2 = '<img src="';       // Image start marker
  cEndImage2 = '"';                  // Image end marker
  cStartDirector = 'Un film di <a href="';      // Director start marker
  cEndDirector = '</a>.';                       // Director end marker
  cStartCategory  = '<a title="Film ';   // Catogory start marker
  cEndCategory = '</a>';            // Category first end marker
  cStartCategory2  = '">';   // Catogory start marker
  cEndCategory2 = '</a>';            // Category second end marker
  cStartDuration = 'durata ';        // Duration start marker
  cEndDuration = ' min.';          // Duration end marker
  cStartYear = '<meta property="og:title" content="';              // Year start marker
  cEndYear = '/>';                 // Year end marker
  cStartYear2  = '(';   // year start marker
  cEndYear2 = ')';            // year second end marker
  cStartDesc = '<div id="recensione">';          // Description start marker
  cEndDesc = '<div style="text-align:right;">';  // Description end marker

  cStartCast = 'Con <a href="';              // Actor start marker
  cEndCast   = '<a title="';
  cEndCast2  = 'Titolo originale <em>';      // Actor end marker
//  cStartImage = 'src="https://pad.mymovies.it/filmclub/';     //fs 2018.02.07
  cStartImage = '<meta property="og:image" content="';       //fs 2018.02.07
  cEndImage = '"';
var
  MovieUrl, MovieName, Commento, TranslatedStr, PageStr:  string;
  Startchar, EndChar, NumRisultati, UsePage, Addressnext: String;
  cImage, SaveUrl, SaveField, TempField, DelField : string;
  PositionCategory, PositionDuration: integer;
  Positioncast: integer;
  idx : integer;
 
function MyTrim(Value: string):string;
var
  ExitLoop: Boolean;
  NewField, OldField: String;
  OldLgthValue, NewLgthValue: integer;
begin
    NewField := ' ';
    OldField := #9;
    value := StringReplace(Value, OldField, NewField);
    OldField := #10;
    value := StringReplace(Value, OldField, NewField);
    OldField := #13;
    value := StringReplace(Value, OldField, NewField);
    OldField := '  ';
    value := StringReplace(Value, OldField, NewField);
    Newfield := '&';
    OldField := '&';
    value := StringReplace(Value, OldField, NewField);
    Newfield := 'è';
    OldField := '&egrave;';
    value := StringReplace(Value, OldField, NewField);
    ExitLoop := False;
    OldLgthValue := length(Value);
    HTMLRemoveTags(Value);
    Value := FullTrim(Value);
    OldField := '  ';
    NewField := ' ';
    repeat
      value := StringReplace(Value, OldField, NewField);
      NewLgthValue := length(Value);
    if  OldLgthValue = NewLgthValue then
        ExitLoop := True
    else
        OldLgthValue := NewLgthValue;
    until ExitLoop;

  Result := Value;
end;

//-------------------------
procedure estrae_info;          //2017.10.26 cambio struttura sito: aggiunta pagina intermedia tra la ricerca e le info.
//-------------------------
//2018.04.22fs begin
//2018.04.22fs   MovieUrl := textbetween(PageStr, '<!-- webTrekk Espresso -->', '<!-- /webTrekk Espresso -->');
//2018.04.22fs   HTMLRemoveTags(MovieUrl);
//2018.04.22fs   MovieUrl := textbetween(MovieUrl, (' pageHref = ' + Apice), (Apice + ';'));
//2018.04.22fs   PageStr := getPage(MovieUrl);
//2018.04.22fs    if debug_search then
//2018.04.22fs       DumpPage(folder+'Mymovies_page_second.txt', Pagestr);                // debug
//2018.04.22fs end;

//2018.04.22fs inizio modifiche
var
  pos_dizionario: integer;
begin
  SaveUrl := MovieUrl;
  MovieUrl := textbetween(PageStr, '<!-- webTrekk Espresso -->', '<!-- /webTrekk Espresso -->');
  HTMLRemoveTags(MovieUrl);
  MovieUrl := textbetween(MovieUrl, (' pageHref = ' + Apice), (Apice + ';'));
  pos_dizionario :=  pos('/dizionario/recensione.asp?id=', MovieUrl);
  if  pos_dizionario <> 0 then
    PageStr := getPage(MovieUrl);
  if  pos_dizionario =  0 then
    MovieUrl := SaveUrl;
  if  debug_search then
      DumpPage(folder+'Mymovies_page_second.txt', Pagestr);                // debug
//2018.04.22fs  fine  modifiche
end;

// -----------------------
// ANALYZE MOVIE DATA PAGE
// IN:  none    OUT: set Ant fields
// -----------------------
procedure AnalyzeMoviePage;
var
  pos_dizionario: integer;
begin
  // Get packed title main page
  pos_dizionario :=  pos('/dizionario/recensione.asp?id=', MovieUrl);     //2018.04.22
  if  pos_dizionario <> 0 then                                            //2018.04.22
      MovieUrl := StringReplace(MovieUrl, 'http:', 'https:');             //2018.04.22
  PageStr := getPage(MovieUrl);
  if debug_search then
     DumpPage(folder+'Mymovies_page_found.txt', Pagestr);                // debug
  if pos('<!-- webTrekk Espresso -->', PageStr) > 0 then
     begin
        estrae_info
     end;
  if pos('var_carica_taboola', pageStr) > 0
     then
         nuovo_tipo_pagina
     else
         vecchio_tipo_pagina
  end;
//end;

//----------------------------
procedure nuovo_tipo_pagina;
var
  titolo_originale, Trama_e_critica: string;
  init_char, end_char: string;
begin
//  PageStr := UTF8decode(PageStr);               N.B. questo fa saltare l'strazione di trama e commenti/critica
  TempField := TextBetween(PageStr, cStartNewTitle, cEndNewTitle);
  TempField := MyTrim(TempField);
  SetField(fieldTranslatedTitle, TempField);

  // Original Title field
  titolo_originale := TextBetween(PageStr, 'Titolo originale</td>', '</tr>');
  HTMLRemoveTags(titolo_originale);
  SetField(fieldOriginalTitle, titolo_originale);
  if titolo_originale = '' then
    SetField(fieldOriginalTitle, GetField(fieldTranslatedTitle))
    else
    SetField(fieldOriginalTitle, titolo_originale);

  // Director Field
  TempField := TextBetween(PageStr, '<tr><td valign="top">Regia di</td>', '</tr>');
  HTMLRemovetags(tempfield);
  SetField(fieldDirector, TempField);

  // Actors Field
  TempField := TextBetween(PageStr, '<tr><td valign="top">Attori</td>', '</tr>');
  HTMLRemovetags(tempfield);
  Tempfield := UTF8decode(Tempfield);
  SetField(fieldActors, TempField);            //attori principali

  // Category Field
  TempField := TextBetween(PageStr, '<tr><td valign="top">Genere</td>', '</tr>');
  HTMLRemovetags(tempfield);
  SetField(fieldCategory, TempField);

  // Duration field
  TempField := TextBetween(PageStr, '<tr><td valign="top">Durata</td>', '</tr>');
  HTMLRemovetags(tempfield);
  tempfield := Textbefore(Tempfield, ' ', '');
  SetField(fieldLength, TempField);

  // Country field
  TempField := PageStr;
  Tempfield := TextBetween(TempField, '<td valign="top">Produzione</td>', '</tr>') + '</tr>';
//  Tempfield := '<tr> href=' + TextBetween(TempField, 'href=', '</tr>');
  Tempfield := '<tr>' + TextBetween(TempField, 'href=', '</tr>');
  HTMLRemovetags(tempfield);
//  TempField := MyTrim(TempField);
  tempField := textafter(Tempfield, '>');
  SetField(fieldCountry, TempField);

//  Year
  TempField := PageStr;
  TempField := Textbetween (tempField, '<td valign="top">Anno</td>', '</tr>');
  HTMLRemovetags(tempfield);
  SetField(fieldYear, TempField);

  // Get film image
  cImage := TextBetween(PageStr, '<amp-img layout="responsive" class="stonda3" width="230" height="330" src="', '"></amp-img>');
  cImage := StringReplace(cImage, 'https', 'http');

  if cImage <> '' then
     GetPicture(cImage);

// Description Field
//2018-02-27   init_char := '<div class="lectios">';
//2018-02-27   end_char  := '<div class="clear10">';
//2018-02-27   Trama_e_critica := init_char + TextBetween(PageStr, init_char, end_char) + end_char;
   init_char := '<p class="highlights mm-margin-auto mm-center mm-margin-t16">';                //2018-02-27
   end_char  := '<div';                                                                         //2018-02-27
   Trama_e_critica := fulltrim(TextBetween(PageStr, init_char, end_char));                      //2018-02-27
   Trama_e_critica := UTF8decode(Trama_e_critica);
   HTMLRemovetags(Trama_e_critica);
   if debug_search then
      DumpPage(folder+'Mymovies_trama_e_critica.txt', trama_e_critica);                // debug
//2018.04.20fs   SetField(fieldDescription, Trama_e_critica);
   Trama_e_critica := MyTrim(Trama_e_critica);
   SetField(fieldComments, Trama_e_critica);                            //2018.04.20fs

// Comments Field
   init_char := 'Recensione di';
   end_char  := '<div class="clear10">';
//   TempField := '<p ' + init_char + textBetween(Trama_e_critica, init_char, end_char) + end_char;
   TempField := fulltrim(TextBetween(PageStr, init_char, end_char)) + end_char;

   Init_char  := '<p class="corpo">';
   TempField := init_char + TextBetween(Tempfield, init_char, end_char) + end_char;

   End_char := '<a target="_blank"';
   TempField := init_char + fulltrim(TextBetween(PageStr, init_char, end_char)) + end_char;

   TempField := StringReplace(TempField, 'Il film Shadow è disponibile in streaming. Scopri MYmovieslive', '');
   TempField := StringReplace(TempField, 'Questo film è disponibile in versione digitale, scopri il miglior prezzo: TROVASTREAMING', '');
   HTMLRemovetags(tempfield);
   Tempfield := UTF8decode(Tempfield);
   TempField := Fulltrim(Tempfield);
//2018.04.20fs   SetField(fieldComments, TempField);
   SetField(fieldDescription, TempField);                               //2018.04.20fs

// Movie URL field
   SetField(fieldURL, MovieUrl);
   SetField(fieldDate, DateToStr(Date));

end;

//----------------------------

  
//----------------------------
procedure vecchio_tipo_pagina;
//----------------------------
var
  pos_func: integer;
begin
  TempField := TextBetween(PageStr, cStartTranslTitle, cEndTranslTitle);
  TempField := MyTrim(TempField);
  SetField(fieldTranslatedTitle, TempField);

  // Original Title field
  SetField(fieldOriginalTitle, TextBetween(PageStr, cStartTitle, cEndTitle));
  if(GetField(fieldOriginalTitle)='')then
    SetField(fieldOriginalTitle, GetField(fieldTranslatedTitle));

  // Director Field
  TempField := TextBetween(PageStr, cStartDirector, cEndDirector) + cEndDirector;
  TempField := TextBetween(TempField, '>' , cEndDirector);
  HTMLRemovetags(tempfield);
  Tempfield := UTF8decode(Tempfield);
  TempField := Fulltrim(Tempfield);
  SetField(fieldDirector, TempField);

  // Actors Field
  TempField := CstartCast + TextBetween(PageStr, cStartCast, cEndCast);     // da 'con:'   a Titolo
  Positioncast := pos(cStartCast, PageStr) + length(TempField);
  SaveField := TempField;
  TempField := TextBetween(PageStr, cStartCast, cEndCast2);   // da 'con:'   a Titolo Originale
  if length(tempField) > 0 then
      TempField := '<a href="' + TempField
  else
    TempField := '<a href="' + SaveField;

  DelField  := '<div id="attori_espandi"' + TextBetween(TempField, '<div id="attori_espandi"', '</div>');
  TempField := StringReplace(TempField, DelField, '');
  DelField  := '<div id="attori_comprimi"' + TextBetween(TempField, '<div id="attori_comprimi"', '</div>');
  TempField := StringReplace(TempField, DelField, '');
  TempField := UTF8decode(TempField);
  TempField := MyTrim(TempField);
  SetField(fieldActors, TempField);

  // Category Field
  TempField := TextBetween(PageStr, cStartCategory, cEndcategory) + cEndcategory;
  TempField := TextBetween(TempField, cStartCategory2, cEndcategory2);
//  TempField := TempField + cEndcategory;
//  TempField := TextBetween(TempField, '">' , cEndcategory);
  SetField(fieldCategory, TempField);

  // Duration field
  TempField := TextBetween(PageStr, '<td valign="top">Durata</td>', '</tr>');
  HTMLRemovetags(tempfield);
  StringReplace(tempfield, ' minuti', '');
  SetField(fieldLength, TempField);

  // Country field
  TempField := PageStr;
  if PositionDuration > 0 then
     Delete(TempField, 1, PositionDuration - 1)
     else
        if  Positioncast > 0 then
            Delete(TempField, 1, Positioncast - 1)
        else
            if  PositionCategory > 0 then
                Delete(TempField, 1, PositionCategory - 1);

  Tempfield := TextBetween(TempField, '-', ' <strong>');
  TempField  := MyTrim(TempField);
  pos_func   := pos('function(', Tempfield);
  if  pos('Transitional', Tempfield) = 0 then
      if  pos_func = 0 then
          SetField(fieldCountry, TempField);

//  Year
  TempField := PageStr;
  TempField := Textbetween (tempField, cStartYear, cEndYear);
//  TempField := Textbetween (TempField, '(', ')');
  TempField := TextBetween(TempField, cStartYear2, cEndYear2);
  SetField(fieldYear, TempField);

  // Get film image
  cImage := TextBetween(PageStr, cStartImage, cEndImage);
  if cImage = '' then
    cImage := TextBetween(PageStr,cStartImage2, cEndImage2)
  else
  begin
    if GetOption('Poster')=1 then
       cImage := ImagePath + StringReplace(cImage, '/imm.jpg', '/locandina.jpg')
    else
//fs 2018.02.07       cImage := ImagePath + cImage
    cImage := cImage     //fs 2018.02.07
    end;


  if cImage <> '' then
    GetPicture(cImage);

// Description Field
   TempField := TextBetween(PageStr, cStartDesc, cEndDesc) + cEndDesc;
   TempField := MyTrim(TempField);
   TempField := StringReplace(TempField, 'Il film Shadow è disponibile in streaming. Scopri MYmovieslive', '');
   TempField := StringReplace(TempField, 'Questo film è disponibile in versione digitale, scopri il miglior prezzo: TROVASTREAMING', '');
//2018.04.22fs    TempField := fulltrim(Tempfield);
   TempField := UTF8decode(Tempfield);
   SetField(fieldDescription, TempField);

// Movie URL field
   SetField(fieldURL, MovieUrl);
   SetField(fieldDate, DateToStr(Date));
   
// Commento
//   TempField := Textbetween(PageStr, '<p style="padding-right:3px; margin-top:15px;">', '<a href="https://www.mymovies.it/dizionario/critica');
   TempField := Textbetween(PageStr, '">Rassegna stampa</a>', '</td>') + '</td>';
   TempField := Textbetween(TempField, '<p style="padding-right:3px; margin-top:15px;">', '<a href="https://www.mymovies.it/dizionario/critica');
   TempField := MyTrim(TempField);
   SetField(fieldComments, TempField);
end;

procedure CalcLgthToDelete;
begin
  StartChar :=  '<div class="linkblu" style="padding:3px;"';
  EndChar   :=  '<div class="linkblu" style="padding:3px;"';
  Positioncast := Length(startChar) + Length(Textbetween(UsePage, StartChar, EndChar));
  if Positioncast  = 0 then
     begin
     EndChar := '<a href="https://www.mymovies.it/prossimamente/">';
     Positioncast := Length(startChar) + Length(Textbetween(UsePage, StartChar, EndChar));
     end;
end;

// ------------------------------------------------------------------
// FILL PICKTREE CONTROL WITH LINKS & TITLES or RETURN ONE PAGE LINK
// da 35mm.it
// ------------------------------------------------------------------
function PopulatePickTree(OneFilm: boolean): string;
var
  TempIdFilm, TempTitle, campo_ricerca: string;
  TempAuthor, TempYear: string;
  LineToDrop, LineToUse, LineTodelete, LineTxt: string;
  LengthFilm, LgthTitle, LineNr: integer;
  PositionCategory, LgthLineToUse, PositionDuration: integer;
  PageAll, PageLoop, MyMovies_line: string;
  cFilmYear, CYearId: string;
  StartPos, EndPos, ctr_giri: integer;
begin
  ctr_giri := 0;
  if OneFilm then                                                           // per un solo film trovato è OK
    begin
//2018.04.20fs      StartChar := 'https://www.mymovies.it/dizionario/recensione.asp?id=';
//2018.04.20fs      EndChar   := '" title=';
      Startchar := '<div class="linkblu" style="padding:3px;">';       //2018.04.20fs
      Endchar   := '</div>';                                           //2018.04.20fs
      UsePage  := Textbetween(Pagestr, StartChar, EndChar);
      if length(UsePage) > 0 then
        begin
//2018.04.20fs          TempIdFilm := StartChar + Usepage;
          TempIdFilm := Textbetween(UsePage, '<a href="', '"');       //2018.04.20fs
          result := TempIdFilm;
        end
    end
  else
    begin
      PickTreeClear;
      campo_ricerca := getfield(fieldFilePath);
      if  campo_ricerca = '' then
          campo_ricerca := getfield(fieldFormattedTitle);
      PickTreeAdd(NumRisultati + ' risultati ricerca per "' + campo_ricerca + '":', '');                                               // per più pagine di film
      PageLoop := PageStr;
      StartChar := '<a title="Database MYmovies" href="https://www.mymovies.it/film/"><strong>Film</strong></a>';
      EndChar := '<a href="https://www.mymovies.it/prossimamente/">';
//fulvio      EndChar := '<a href="https://www.mymovies.it/database/">Effettua una nuova ricerca</a>';
      UsePage := TextBetween(PageStr, StartChar, EndChar) + EndChar;

//2018.04.21fs  la pagina di ricerca contiene ancora delimiters con http://  invece che  https://
      if  length(UsePage) = length(Endchar) then
          begin
          StartChar := '<a title="Database MYmovies" href="http://www.mymovies.it/film/"><strong>Film</strong></a>';
          EndChar := '<a href="http://www.mymovies.it/prossimamente/">';
          UsePage := TextBetween(PageStr, StartChar, EndChar) + EndChar;
          end;
      if debug_search then
          DumpPage(folder+'Mymovies_UsePage.txt', UsePage);                // debug
      repeat                     // inizio gestione pagina multipla
        LineNr  := Pos('>Pagina successiva', PageStr);
        PageAll := UsePage;
        StartChar :=  '<div class="linkblu" style="padding:3px;"';
        Positioncast := Pos(StartChar, UsePage);
        Delete(UsePage, 1, Positioncast - 1)
        CalcLgthToDelete;

        if debug_search and (ctr_giri = 0)then
            DumpPage(folder+'Mymovies_UsePage.txt', UsePage);                // debug
        repeat
          ctr_giri := ctr_giri + 1;
          CalcLgthToDelete;
          StartChar :=  '<div class="linkblu" style="padding:3px;"';
          EndChar   :=  '<div class="linkverde">';
          LineToUse := StartChar + textbetween(UsePage, StartChar, EndChar) + EndChar;
          MyMovies_line := 'Mymovies_line' + IntToStr(ctr_giri) + '.txt';

          StartChar := '<div class="linkverde">';
          EndChar   := '<div class="linkblu" style="padding:3px;"';
          LineToDrop := textbetween(UsePage, StartChar, EndChar);
          if Length(LineToDrop) = 0 then
             begin
             EndChar := '<a href="https://www.mymovies.it/prossimamente/">';
             LineToDrop := textbetween(UsePage, StartChar, EndChar);
             end;
          LineToDelete := LineToUse + LineToDrop;
          PositionDuration := Length(LineToDelete);
          StartPos := pos(StartChar, UsePage);
//2018.04.21fs          StartChar :=  'https://www.mymovies.it/dizionario/recensione.asp?id=';
          StartChar :=  'http://www.mymovies.it/dizionario/recensione.asp?id=';         //2018.04.21fs
          EndChar := '" title="';
          if StartPos > 0 then
            begin
              TempIdFilm := StartChar + TextBetween(UsePage, Startchar, EndChar);
              LengthFilm := length(StartChar) + length(TempIdFilm);
              Delete(UsePage, 1, LengthFilm);

              StartChar := 'title="';
              EndChar := '">';
              TempTitle := TextBetween(UsePage, Startchar, EndChar);
              LgthTitle := Length(TempTitle) + length(StartChar) + length(EndChar);
              TempTitle := FullTrim(TempTitle);
              LgthTitle := length(StartChar) + LgthTitle + length(EndChar);
              TempAuthor := Textbetween (UsePage, 'Un film di <b>', '</b>');
              TempAuthor := Textbetween (TempAuthor, '">', '</a>');
              TempYear   := Textbetween (UsePage, '<a href="https://www.mymovies.it/film/?anno=', '">');
              TempTitle  := TempTitle + ' (' + TempAuthor + ') ' + TempYear;
              PickTreeAdd(TempTitle, TempIdFilm);
              if debug_search then
                 DumpPage(folder + 'Mymovies_line' + IntToStr(ctr_giri) + '.txt', Linetouse);                // debug

              StartChar :=  'https://www.mymovies.it/dizionario/recensione.asp?id=';
              EndChar := '" title="';
              StartPos := pos(StartChar, UsePage);
             Delete(PageAll, 1, Positioncast - 1);
             UsePage := PageAll;
            end;
        until(Positioncast < 100);
        result := '';

 //Controlla se ci sono altre pagine di risultati
        StartPos := Pos('Ricerca MYmovies', PageLoop);
        Delete(PageLoop, 1, StartPos - 1);
        StartChar := '<a href="?titolo=';
        EndChar := '">Pagina successiva';

        LineTxt := TextBetween(PageLoop, StartChar, EndChar);
        repeat
           if Length(LineTxt) > 1 then
              begin
              AddressNext := QueryBase + LineTxt;
              LineTxt := LineTxt + EndChar;
              end
          LineTxt := TextBetween(LineTxt, StartChar, EndChar);
        until length(LineTxt) < length(EndChar);
        SetField(fieldcomments, AddressNext);
//        Pagestr  := GetPage(Addressnext);                        //errore getpage
        PageLoop := PageStr;
        StartChar := '<a title="Database MYmovies" href="https://www.mymovies.it/film/"><strong>Film</strong></a>';
        EndChar := '<a href="https://www.mymovies.it/prossimamente/">';
        UsePage := TextBetween(PageStr, StartChar, EndChar) + EndChar;
      until (LineNr < 1); // repeat
    end
end;

//
// ---------------------------------
// ANALYZE FIRST SEARCH RESULT PAGE:
// IN:  page Url (string)
// OUT: none
// ---------------------------------
procedure AnalyzeSearchPage(Url: string);
begin
  PageStr := getpage(Url);
  SetField(fieldURL, URL);     //debug
  if debug_search then
     DumpPage(folder+'Mymovies_search_page.txt', Pagestr);                // debug
  NumRisultati := Textbetween(PageStr, cStartNumRis, cEndNumRis);
 
  if ( (NumRisultati = '0') or (NumRisultati = '')) then
    begin
      ShowMessage('Title not found / Nessun film trovato.');
      SetField(fieldURL, MovieUrl);
      exit;
    end

  if NumRisultati = '1' then
    MovieUrl := PopulatePickTree(true)
  else
    begin
      PopulatePickTree(false);
      if not PickTreeExec(MovieUrl) then // ..select one
        exit;
    end;

  AnalyzeMoviePage;
end;

begin
  if (CheckVersion(4,2,2)) and (StringUtils1_Version > 5) then
    begin
      TranslatedStr := StringReplace(GetField(fieldTranslatedTitle), '.', ' ');
      MovieName := StringReplace(GetField(fieldOriginalTitle), '.', ' ');
      if (TranslatedStr <> '') then
        MovieName := TranslatedStr;

      if(Input('MyMovies.It', 'Enter the title of the movie', MovieName)) then
        begin
          MovieUrl := QueryBase + StringReplace(MovieName,' ','+') + UrlRicerca;
          AnalyzeSearchPage(MovieUrl);
        end;
    end
  else
    ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 4.2.1) and StringUtils1 version 6');
end.

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-24 11:53:22
by otreux
lo script non mi appare più nell'elenco degli script disponibili, puoi verificare? Grazie

the script no longer appears in the list of available scripts, can you check? Thank you

Re: [UPD ITA] mymovies.it using both http & https with rel. AMC 4.2.2 beta

Posted: 2018-04-24 14:00:37
by fulvio53s03
otreux wrote: 2018-04-24 11:53:22 lo script non mi appare più nell'elenco degli script disponibili, puoi verificare? Grazie

the script no longer appears in the list of available scripts, can you check? Thank you
nella cartella C:\programmi\Ant Movie Catalog\Scripts\ è il file MyMovies (IT).ifs
Eseguendo F6 dalla videata principale (per estrarre info sui film) non compare?
forse hai modificato il filtro dei linguaggi (è IT) ?
forse hai fatto male il copia/incolla del codice postato più sopra?
:ha: