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

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
fulvio53s03
Posts: 764
Joined: 2007-04-28 05:46:43
Location: Italy

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

Post by fulvio53s03 »

waiting for feedback!

Code: Select all

 
  
  Version 3.0.0
   U P D A T E D
   
   
;)
Last edited by fulvio53s03 on 2018-04-24 05:38:06, edited 2 times in total.
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

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

Post by antp »

Thanks :)
otreux
Posts: 194
Joined: 2008-10-22 16:55:46

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

Post 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 :(
fulvio53s03
Posts: 764
Joined: 2007-04-28 05:46:43
Location: Italy

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

Post 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.
:??:
otreux
Posts: 194
Joined: 2008-10-22 16:55:46

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

Post 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
fulvio53s03
Posts: 764
Joined: 2007-04-28 05:46:43
Location: Italy

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

Post 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.
otreux
Posts: 194
Joined: 2008-10-22 16:55:46

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

Post 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
fulvio53s03
Posts: 764
Joined: 2007-04-28 05:46:43
Location: Italy

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

Post 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:
Post Reply