Spero aver individuato tutte le varianti.
segnalatemi eventuali comportamenti anomali indicandomi il nome del film su cui si verificano.

Mymovies.it site has undergone several changes over time and its page standard is not uniform.
I hope I have identified all the variants.
Report me any anomalous behavior indicating the name of the film on which they occur.
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.2
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=®ista=&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=®ista=&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; // debug mode on/off
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 := 'è';
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;
lgth_delimiters: integer;
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);
Tempfield := UTF8decode(Tempfield);
TempField := Fulltrim(Tempfield);
SetField(fieldDirector, TempField);
// Actors Field
TempField := TextBetween(PageStr, '<tr><td valign="top">Attori</td>', '</tr>');
HTMLRemovetags(tempfield);
Tempfield := UTF8decode(Tempfield);
if debug_search then
Tempfield := Tempfield + CRLF + '(new_form)';
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
HTMLRemovetags(Trama_e_critica);
if trama_e_critica = '' then //2018-04-24
begin //2018-04-24
init_char := '<div class="sottotitolo_autore mm-letter-spacing-2 mm-center mm-show-xs mm-hide-sm">'; //2018-04-24
end_char := '<div class="mm-right mm-margin-r8"">'; //2018-04-24
Trama_e_critica := fulltrim(TextBetween(PageStr, init_char, end_char)); //2018-04-24
Trama_e_critica := UTF8decode(Trama_e_critica);
HTMLRemovetags(Trama_e_critica);
Trama_e_critica := UTF8decode(Trama_e_critica);
end;
Trama_e_critica := UTF8decode(Trama_e_critica);
// Trama_e_critica := fulltrim(TextBetween(PageStr, init_char, end_char)); //2018-02-27
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 := fulltrim(Trama_e_critica);
SetField(fieldDescription, 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));
TempField := Tempfield + end_char;
if length(tempfield) = length(end_char) then
begin
init_char := '<div class="sottotitolo_autore mm-letter-spacing-2 mm-center mm-show-xs mm-hide-sm">';
end_char := '<div class="mm-right mm-margin-r8"">';
TempField := fulltrim(TextBetween(PageStr, init_char, end_char));
end;
Init_char := '<p class="corpo">';
end_char := '</p>'; //2018.04.24
TempField := init_char + TextBetween(Tempfield, init_char, end_char) + end_char; //fin qui temp_field OK per bush...
End_char := '<a target="_blank"';
TempField := init_char + fulltrim(TextBetween(PageStr, init_char, end_char)) + end_char;
lgth_delimiters := (length(init_char) + length(end_char));
If length(Tempfield) = lgth_delimiters then //2018.04.25fs
begin //2018.04.25fs
Init_char := '<p class="corpo">'; //2018.04.25fs
end_char := '</p>'; //2018.04.25fs
TempField := init_char + fulltrim(TextBetween(PageStr, init_char, end_char)) + end_char; //2018.04.25fs
end; //2018.04.25fs
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);
SetField(fieldComments, 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);
if debug_search then
Tempfield := Tempfield + CRLF + '(old_form)';
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 := FullTrim(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
//2018.04.26fs repeat // inizio gestione pagina multipla
//2018.04.26fs 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>');
TempAuthor := UTF8decode(TempAuthor);
TempYear := Textbetween (UsePage, '<a href="https://www.mymovies.it/film/?anno=', '">');
TempTitle := TempTitle + ' (' + TempAuthor + ') ' + TempYear;
TempTitle := UTF8decode(Temptitle);
tempTitle := Fulltrim(TempTitle);
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
//2018.04.26fs StartPos := Pos('Ricerca MYmovies', PageLoop);
//2018.04.26fs Delete(PageLoop, 1, StartPos - 1);
//2018.04.26fs StartChar := '<a href="?titolo=';
//2018.04.26fs EndChar := '">Pagina successiva';
//2018.04.26fs LineTxt := TextBetween(PageLoop, StartChar, EndChar);
//2018.04.26fs SetField(fieldcomments, AddressNext);
// Pagestr := GetPage(Addressnext); //errore getpage
//2018.04.26fs PageLoop := PageStr;
//2018.04.26fs StartChar := '<a title="Database MYmovies" href="https://www.mymovies.it/film/"><strong>Film</strong></a>';
//2018.04.26fs EndChar := '<a href="https://www.mymovies.it/prossimamente/">';
//2018.04.26fs UsePage := TextBetween(PageStr, StartChar, EndChar) + EndChar;
//2018.04.26fs 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.