Posted by: Ivek23
« on: October 16, 2021, 08:25:38 am »Welcome.
...Thanks
As for Neil's Valley of Tears_Sh'at series, all the same url addresses are visible in the Bing search, because the code for the url address was written in such a way that no different url links to other web pages for that series were displayed. Now I changed the Bing url address to search for results because the old Bing url address did not want to download the search results, but reported an error that it did not find the search results. This was probably a block for the Banned IP address, because I already have a similar experience with Kinopoisk.ru websites, where there is a captcha, which did not allow the transfer of information. Now I've added numbering to search results and make it easier to check the correct url.
.....
IMDB_[EN] [HTTPS]_RC3a1, IMDB_[EN] [HTTPS](series)_RCa1 and IMDB_[EN] [HTTPS](episodes)_RCa1 script is added.
IMDB_[EN] [HTTPS]_RC3a, IMDB_[EN] [HTTPS](series)_RCa and IMDB_[EN] [HTTPS](episodes)_RCa scripts are now available.
Sorry!!! Error! Error! Error!
After choosing from the found films, an ERROR pops up !!!
P.S. Search window when importing information for serials (!pic2.jpg)? Thank You!!!!
IMDB_[EN] [HTTPS]_RC3a, IMDB_[EN] [HTTPS](series)_RCa and IMDB_[EN] [HTTPS](episodes)_RCa scripts are now available.
If you do not manually enter the address of the series, then the PVD hangs, you can only see how the windows for connecting to IMDB appear, and then disappear. And so it will be until you turn off the program through the task manager (10, 20.... minutes). Checked on the TV series "Private Eyes" (2016).
IMDB_ [EN] [HTTPS](series) _RC and IMDB_ [EN] [HTTPS](episodes) _RC scripts are now available.
The innovations around the custom fields are described above, and the other custom fields were from previous IMDB_ [EN][HTTPS] versions.
It's really not easy to keep track of all these custom fields and possibilities, so I can't remember if IMDB_Series-year custom field and the code in IMDB_[EN][HTTPS](series).psf was my "invention" or it is definitely missing in IMDB_ [EN] [HTTPS](series) _RC .psf
This was in earlier (series) script:QuoteLogMessage(' Get series result for series year:'+ItemValue1+'||');
//ItemValue1:=StringReplace(ItemValue1,'/a> ','',True,False,True);
if ItemValue1 <> '' then AddFieldValueXML('year',ItemValue1);
if ItemValue1 <> '' then LogMessage(' Get series result for series year2:'+ItemValue1+'||');
AddCustomFieldValueByName('IMDB_Series-year',TextBetWeenFirst(ItemList,'title="See more release dates" >','</a> </div>'));
LogMessage(' Get series result for series-year2:'+TextBetWeenFirst(ItemList,'title="See more release dates" >','</a> </div>')+'||');
Any help on this?
StartPos:=Pos('releaseinfo?ref_=tt_ov_rdat',HTML);
if StartPos>0 then begin
yearValue:=HTMLValue(HTML,StartPos,0,'</a>','</span></li><li role="presentation" class="ipc-inline-list__item"><a href="/title/');
//AddCustomFieldValueByName('IMDB_year',yearValue);
//AddCustomFieldValueByName('IMDB Year',yearValue);
AddCustomFieldValueByName('IMDB_Series-year',yearValue);
if yearValue <> '' then LogMessage(' Get result Tv Mode (CF~IMDB_year~)+:'+yearValue);
end else
LogMessage('tv-metadata-a not found');
StartPos:=Pos('releaseinfo?ref_=tt_ov_rdat',HTML);
if StartPos>0 then begin
yearValue:=HTMLValue(HTML,StartPos,0,'</a>','</span></li><li role="presentation" class="ipc-inline-list__item"><a href="/title/');
AddCustomFieldValueByName('IMDB_year',yearValue);
AddCustomFieldValueByName('IMDB Year',yearValue);
//AddCustomFieldValueByName('IMDB_Series-year',yearValue);
if yearValue <> '' then LogMessage(' Get result Tv Mode (CF~IMDB_year~)+:'+yearValue);
end else
LogMessage('tv-metadata-a not found');
IMDB_ [EN] [HTTPS](series) _RC and IMDB_ [EN] [HTTPS](episodes) _RC scripts are now available.
The innovations around the custom fields are described above, and the other custom fields were from previous IMDB_ [EN][HTTPS] versions.
It's really not easy to keep track of all these custom fields and possibilities, so I can't remember if IMDB_Series-year custom field and the code in IMDB_[EN][HTTPS](series).psf was my "invention" or it is definitely missing in IMDB_ [EN] [HTTPS](series) _RC .psf
This was in earlier (series) script:QuoteLogMessage(' Get series result for series year:'+ItemValue1+'||');
//ItemValue1:=StringReplace(ItemValue1,'/a> ','',True,False,True);
if ItemValue1 <> '' then AddFieldValueXML('year',ItemValue1);
if ItemValue1 <> '' then LogMessage(' Get series result for series year2:'+ItemValue1+'||');
AddCustomFieldValueByName('IMDB_Series-year',TextBetWeenFirst(ItemList,'title="See more release dates" >','</a> </div>'));
LogMessage(' Get series result for series-year2:'+TextBetWeenFirst(ItemList,'title="See more release dates" >','</a> </div>')+'||');
Any help on this?
IMDB_ [EN] [HTTPS](series) _RC and IMDB_ [EN] [HTTPS](episodes) _RC scripts are now available.
The innovations around the custom fields are described above, and the other custom fields were from previous IMDB_ [EN][HTTPS] versions.
LogMessage(' Get series result for series year:'+ItemValue1+'||');
//ItemValue1:=StringReplace(ItemValue1,'/a> ','',True,False,True);
if ItemValue1 <> '' then AddFieldValueXML('year',ItemValue1);
if ItemValue1 <> '' then LogMessage(' Get series result for series year2:'+ItemValue1+'||');
AddCustomFieldValueByName('IMDB_Series-year',TextBetWeenFirst(ItemList,'title="See more release dates" >','</a> </div>'));
LogMessage(' Get series result for series-year2:'+TextBetWeenFirst(ItemList,'title="See more release dates" >','</a> </div>')+'||');
//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------------------------------------------------------------------------------------------------------------
//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;
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');
//*)
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.
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
Thanks!!! But:
movie Nomad (http://www.imdb.com/title/tt9770150/), problems
1) genres
2) budget
3) whether it is possible to control the "COMMENTS" line (on / off). Often this only duplicates the "DESCRIPTION".
//Script Options
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.
P.S. we are waiting for a new version of the script "IMDB_ [EN] [HTTPS] (episodes) .psf" and "IMDB_ [EN] [HTTPS] (series) .psf"
The IMDB _RC script works fine with me. Thanks Ivek.