English > Support
IMDB_[EN][HTTPS] new site layout script
Pacifist:
Thanks!!!
afrocuban:
Thank you Ivek
Ivek23:
--- Quote from: Ivek23 on August 08, 2021, 11:50:28 am ---Here is the new final IMDB_ [EN] [HTTPS] V 1.4.2.0 script version at the link below.
http://www.videodb.info/forum_en/index.php/topic,4134.msg21435.html#msg21435
--- End quote ---
Ivek23:
--- Quote from: Ivek23 on September 19, 2021, 08:12:06 am ---At the moment, I can only test certain scripts because I am waiting for the HDD that was in my Win 7 computer (this computer stopped working for me). Only after I get this disc (most likely I will get it this or next week), only then will I be able to get to the other scripts and data on it.
Then I will also update the other IMDb scripts as soon as possible and it will be possible to update them to the new IMDb layout.
--- End quote ---
Ivek23:
Here is a new test IMDB_ [EN] [HTTPS] _RC3 script where some new pieces of code and options have been added to the script.
To the afrocuban user's problem of transferring alternate title information to the Title normal field, options are now added to change the original title to the local movie title if there is a translation in your country. The options are set as before to transfer the original or alternate address. However, each user now manually sets these options. In addition, the Title normal field must then be marked so that when the information is transferred, only this information will also change to the Title normal field.
--- Quote ---//Script Options-------------------------------------------------------------------------------------------------------
//Retreive Data Config
USE_SAVED_PVDCONFIG = True ; //Use the Overwrite Options of the script saved in pvdconf.ini for avoid download not used pages. Remember PVD only save in exit.
GET_ORIGINAL_TITLE = True ; //Download the alternate title info in your language in your country in of the principal movie page if it exists there for to replace the original title in the Title field.
// GET_ORIGINAL_TITLE = False ; //Download the alternate title info in your language in your country in of the principal movie page if it exists there for to replace the original title in the Title field.
// GET_LOCAL_TITLE = True ; //Download the alternate title info in your language in your country in of the principal movie page if it exists there.
GET_LOCAL_TITLE = False ; //Download the alternate title info in your language in your country in of the principal movie page if it exists there.
GET_FULL_MPAA = True ; //Download Certification provider page for retreive the MPAA info. Otherwise only the info of the principal movie page.
GET_FULL_AKA = True ; //Download 'Also Known As' provider page for retreive the info. Otherwise only the info of the principal movie page.
GET_FULL_CREDIT = True ; //Download Cast or Credit provider page for retreive the info. Otherwise only the info of the principal movie page.
PEOPLE_LIMIT = 25; //Limit of number of actors (cast) or of credits (crew) retrieved.
GET_FULL_AWARDS = True ; //Download Awards provider page for retreive the info. Otherwise doesn't do nothingh because no info in the principal movie page.
EVENTS_LIMIT = 100; //Limit of number of events (USA Academy Awards, Golden Globes, etc) to retrive awards.
GET_FULL_FEATURES = True ; //Download Technical Specs for retreive the original movie features (Runtime, Sound Mix, Color, Aspect Ratio, etc).
//GET_FULL_FEATURES = False ; //Download Technical Specs for retreive the original movie features (Runtime, Sound Mix, Color, Aspect Ratio, etc).
GET_MINI_FEATURES = True ; //Download Technical Specs for retreive the original movie features (Runtime, Sound Mix, Color, Aspect Ratio).
//GET_MINI_FEATURES = False ; //Download Technical Specs for retreive the original movie features (Runtime, Sound Mix, Color, Aspect Ratio).
//GET_FEATURES = True ; //Download Technical Specs for retreive the original movie features (Runtime, Sound Mix, Color, Aspect Ratio).
GET_FEATURES = False ; //Download Technical Specs for retreive the original movie features (Runtime, Sound Mix, Color, Aspect Ratio).
GET_FULL_PLOTKEYWORDS = True ; //Download Plot Keywords provider page for retreive the Plot Keywords info. Otherwise only the info of the principal movie page
PLOTKEYWORDS_LIMIT = 100; //Limit of number of tags retrieved only when download Plot Keywords provider page.
GET_FULL_PLOTSUMMARY = True ; //Download Plot provider page for retreive the Summaries info. Otherwise only the info of the principal movie page
// GET_FULL_PLOT_SUMMARY = True ; //Set to False to not wanted to Download full synopsis for Plot provider page for retreive the Synopsis info in Comment box.
GET_FULL_PLOT_SUMMARY = False ; //Set to True if to wanted to Download full synopsis for Plot provider page for retreive the Synopsis info in Comment box.
// MAX_IMAGE_HEIGTH = 1200; //Heigth limit of the stored posters.
MAX_IMAGE_HEIGTH = 500; //Heigth limit of the stored posters.
//Process Data Config
PRESERVE_PVD_DESCRIPTION_SETTING = True ; //Avoid double use of ~description~ and ~comment~ using only the user check fields table selection otherwise try get "plot_summary"
//Process Behaviour Config
BYPASS_SILENT = True ; //Ensure critical ShowMessage alerts bypassing Silent PVdB preferences
CHECK_WEBSITE = False ; //Add to SearchResult List the true HTTPS links 'Just to check the website' with the browser
POSTER_IN_SEARCH = True ;//Download and show movie posters in the list of the SearchResult
SEARCH_ENGINE = True ; //If there isn't provider search results, try with Bing search engine
INTERNET_TEST_ITERATIONS = 6; //Attempts before to alert user that not internet connection detected. Increase if the provider has low speed.
//Script data------------------------------------------------------------------------------------------------------------
--- End quote ---
--- Quote --- //Get ~script info~
//Get ~rdate~ in contry provider local IP geolocation. See: http://sobizarre-en.blogspot.fr/2014/12/how-to-easily-defeat-imdb-geolocation.html
//Get ~imdbrating~, ~IMDB_Votes~ (Two tries)
ItemList:=TextBetWeenFirst(HTML,'<script type="application/ld+json"','}</script>'); //WEB_SPECIFIC.
//LogMessage(' Parse results ('+IntToStr(curPos)+','+IntToStr(endPos)+') complex ItemList: '+'<script type="application/ld+json"'+ItemList+'}</script>'+'||');
If (Length(ItemList)>0) Then Begin
//Get ~title~
titleValue:=TextBetWeenFirst(ItemList,'","name":"','","'); //Strings which opens/closes the data. WEB_SPECIFIC
If titleValue = '0' then titleValue:='';
//If titleValue = '' then titleValue:=TextBetWeenFirst(ItemList,'<h1 class="long">','<'); //Strings which opens/closes the data. WEB_SPECIFIC
if GET_ORIGINAL_TITLE then AddFieldValueXML('title',titleValue);
AddCustomFieldValueByName('Title',titleValue);
//AddCustomFieldValueByName('Localized title',titleValue);
LogMessage(' Get result title:'+titleValue+'||');
//Get ~origtitle~
ItemValue:=TextBetWeenFirst(ItemList,'","name":"','","'); //Strings which opens/closes the data. WEB_SPECIFIC
If (Length(ItemValue)=0) Then ItemValue:=titleValue; //Provider hides the original title if same that title. WEB_SPECIFIC
AddFieldValueXML('origtitle',ItemValue);
AddCustomFieldValueByName('Origtitle',ItemValue);
LogMessage(' Get result origtitle:'+ItemValue+'||');
//Get ~alternatetitle~
ItemValue:=TextBetWeenFirst(ItemList,'","alternateName":"','","'); //Strings which opens/closes the data. WEB_SPECIFIC
AddCustomFieldValueByName('Localized title',ItemValue);
if GET_LOCAL_TITLE then AddFieldValueXML('title',ItemValue);
if ItemValue <> '' then LogMessage(' Get result alternatetitle:'+ItemValue+'||');
//Get ~IMDB_Movietype~
ItemValue:=TextBetWeenFirst(ItemList,'","@type":"','","'); //Strings which opens/closes the data. WEB_SPECIFIC
MediaType:=ItemValue;
MediaType:=StringReplace(MediaType,'TVEpisode','TV Episode',True,False,True);
MediaType:=StringReplace(MediaType,'TVSeries','TV Series',True,False,True);
AddCustomFieldValueByName('IMDB_Movietype',MediaType);
if ItemValue <> '' then LogMessage(' Get result MediaType (CF~IMDB_Movietype~):'+MediaType+'||');
//Get ~IMDB_MPAA~
ItemValue:=TextBetWeenFirst(ItemList,'","contentRating":"','","'); //Strings which opens/closes the data. WEB_SPECIFIC
AddCustomFieldValueByName('IMDB_MPAA',ItemValue);
if ItemValue <> '' then LogMessage(' Get result ContentRating (CF~IMDB_MPAA~):'+ItemValue+'||');
//(*
//Get ~posters~
ItemValue:=TextBetWeenFirst(ItemList,BASE_URL_IMAGE_PRE_TRUE,'.'); //Get poster code. Strings which opens/closes the data. WEB_SPECIFIC
if ItemValue <> '' then LogMessage(' Get result poster000: '+ItemValue+' ||');
If ((Length(ItemValue)>0) and Not(USE_SAVED_PVDCONFIG and (Copy(PVDConfigOptions,opPoster,1)='0'))) then begin //The Poster will be saved in PVDthen begin
ItemValue:=BASE_URL_IMAGE_PRE_TRUE + ItemValue; //Base poster URL without '.jpg'. WEB_SPECIFIC
LogMessage(' Get result poster00: '+ItemValue+' ||');
ImageFile:=GetAppPath+'Scripts\'+BASE_DOWNLOAD_FILE_IMAGE_NAME+'-Poster.jpg'
// Avoid HTTPS redirection: Download https image to file OutPutFile=
If (1=DownloadImage(ItemValue + '._V1_UY' + IntToStr(MAX_IMAGE_HEIGTH) + '_.jpg',ImageFile)) then begin //Dowload in the selected user max size. WEB_SPECIFIC
AddImageURL(itPoster,ImageFile); //Get the photo from a file even if the next line we log the true URL.
LogMessage(' Get result poster: ' + #13 + ItemValue + '._V1_UY' + IntToStr(MAX_IMAGE_HEIGTH) + '_.jpg'+' ||');
end else if (1=DownloadImage(ItemValue +'.jpg',ImageFile)) then begin //Dowload in the web base size. WEB_SPECIFIC
AddImageURL(itPoster,ImageFile); //Get the photo from a file even if the next line we log the true URL.
LogMessage(' Get result poster0: ' + #13 + ItemValue + '.jpg'+' ||');
end;
End;
//*)
//Get ~year~
//ItemValue1:=TextBetWeenFirst(ItemList,'"datePublished": "','-');
ItemValue1:=TextBetWeenFirst(ItemList,',"datePublished":"','-');
//ItemValue1:=TextBetWeenFirst(ItemList,'},"datePublished":"','-');
AddFieldValueXML('year',ItemValue1);
if ItemValue1 <> '' then LogMessage(' Get result year01:'+ItemValue1+'||');
//Get ~rdate~~IMDB Release Date~
//ItemValue:=TextBetWeenFirst(ItemList,'"datePublished": "','",'); //Strings which opens/closes the data. WEB_SPECIFIC
ItemValue:=TextBetWeenFirst(ItemList,',"datePublished":"','","'); //Strings which opens/closes the data. WEB_SPECIFIC
ItemValue:=StringReplace(ItemValue,'-01','-1',True,False,True);
ItemValue:=StringReplace(ItemValue,'-02','-2',True,False,True);
ItemValue:=StringReplace(ItemValue,'-03','-3',True,False,True);
ItemValue:=StringReplace(ItemValue,'-04','-4',True,False,True);
ItemValue:=StringReplace(ItemValue,'-05','-5',True,False,True);
ItemValue:=StringReplace(ItemValue,'-06','-6',True,False,True);
ItemValue:=StringReplace(ItemValue,'-07','-7',True,False,True);
ItemValue:=StringReplace(ItemValue,'-08','-8',True,False,True);
ItemValue:=StringReplace(ItemValue,'-09','-9',True,False,True);
if ItemValue <> '' then LogMessage(' Get result ReleaseDatePublished: '+ItemValue+' ||');
if ItemValue <> '' then begin
ExplodeString(ItemValue,ItemArray,'-');
ItemValue:=ItemArray[2]+'.'+ ItemArray[1]+'.'+ItemArray[0];
AddFieldValueXML('rdate',ItemValue);
AddCustomFieldValueByName('IMDB Release Date',ItemValue);
if ItemValue <> '' then LogMessage(' Get result DatePublished ~rdate~ (CF~IMDB Release Date~):'+ItemValue+'||');
End;
//Get ~IMDB_Votes~
ItemValue:=TextBetWeenFirst(ItemList,'","ratingCount":',',"'); //Strings which opens/closes the data. WEB_SPECIFIC
AddCustomFieldValueByName('IMDB_Votes',ItemValue);
AddCustomFieldValueByName('IMDB Votes',ItemValue);
AddCustomFieldValueByName('IMDB Votes:',ItemValue);
if ItemValue <> '' then LogMessage(' Get result ratingCount (~IMDB_Votes~): '+ItemValue+' ||');
//Get ~imdbrating~~IMDB Rating~~IMDBRating~
//ItemValue:=TextBetWeenFirst(ItemList,'"ratingValue": "','"'); //Strings which opens/closes the data. WEB_SPECIFIC
ItemValue:=TextBetWeenFirst(ItemList,'"worstRating":1,"ratingValue":','},"'); //Strings which opens/closes the data. WEB_SPECIFIC
//ItemValue:=FloatToStr((StrToFloat(ItemValue) * 1));
AddFieldValueXML('imdbrating',ItemValue);
AddCustomFieldValueByName('IMDB Rating',ItemValue);
AddCustomFieldValueByName('IMDBRating',ItemValue);
if ItemValue <> '' then LogMessage(' Get result ratingValue ~imdbrating~ (CF~IMDB Rating~~IMDBRating~): '+ItemValue+' ||');
End;
//(*
//Go to "Tv Mode"
StartPos:=Pos('<h1 textlength="',HTML);
if StartPos>0 then begin
ItemValue:=HTMLValue(HTML,StartPos,0,'<li role="presentation" class="ipc-inline-list__item">','releaseinfo?ref_=tt_ov_rdat');
if ItemValue <> '' then LogMessage(' Get result Tv Mode1:'+ItemValue+'||');
debug_pos1:=Pos('<a href="',ItemValue);
if debug_pos1 >0 then ItemValue := Copy(ItemValue,0,debug_pos1-1);
AddCustomFieldValueByName('Tv',ItemValue);
if ItemValue <> '' then LogMessage(' Get result Tv Mode (CF~Tv~):'+ItemValue);
ItemValue1:=HTMLValues(HTML,'<h1 textlength="','</ul>','"ipc-inline-list__item">','</',', ',StartPos);
AddCustomFieldValueByName('Tv2',ItemValue1);
if ItemValue1 <> '' then LogMessage(' Get result Tv Mode01:'+#13+ItemValue1+'||'+#13);
end else
LogMessage('tv-metadata not found');
//*)
--- End quote ---
Added code for Tv Mode, whose information is transferred to the multiselect custom Tv field and to the long text Tv2 custom field.
Also added memo IMDB Plot Summary and Imdb Aka custom fields.
Added code for MiniSoundtracks, whose information is transferred to the memo MiniSoundtracks custom field from the main IMDb website.
The same is added for Technical Specs, whose information is transferred to the Imdb TechSpecs custom memo field from the main IMDb website.
--- Quote --- End;
if (Length(ItemList)>0) then begin
AddCustomFieldValueByName('Imdb TechSpecs',ItemList);
if GET_FEATURES then AddFieldValueXML('features',ItemList);
LogMessage(' Get result Movie Features:'+ItemList+'||');
End;
End;
//(*
//Go to "Soundtracks" ~crew~ctComposers
StartPos:=Pos('Soundtracks</a>',HTML);
if StartPos>0 then begin
ItemValue:=HTMLValue(HTML,StartPos,0,'<div><span class="soundtrack-','</div>');
if ItemValue <> '' then LogMessage(' Get result Soundtracks1:'+#13+ItemValue+'||'+#13);
ItemValue:=StringReplace(ItemValue,'trackname">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'</span>',#13,True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-1">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-2">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-3">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-4">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-5">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-6">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-7">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-8">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<span class="soundtrack-comment-9">','',True,False,True);
ItemValue:=StringReplace(ItemValue,'<a class="ipc-md-link ipc-md-link--entity" href="','<link url="http://www.imdb.com',True,False,True);
ItemValue:=StringReplace(ItemValue,'</a>','</link>',True,False,True);
AddCustomFieldValueByName('MiniSoundtracks',ItemValue);
if ItemValue <> '' then LogMessage(' Get result Soundtracks (CF~MiniSoundtracks~):'+#13+ItemValue+#13);
end else
LogMessage('soundtrack not found');
//*)
--- End quote ---
A multiselect Imdb Aspect Ratio custom field is also added.
Short text IMDB Release Date and IMDB Release Dates custom fields are also added, so you have the option to check the correct Release Date record in the normal rdate field.
IMDB_ [EN][HTTPS]_RC3 script is added.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version