At your request I've modified my previous script to extract all actors using the detailed IMDB page.
Code: Select all
// GETINFO SCRIPTING
// IMDB (US) import with large picture (usually from Amazon.com)
(***************************************************
* Movie importation script for: *
* IMDB (US), http://us.imdb.com *
* *
* (c) 2002 Antoine Potten antoine@buypin.com *
* Contributors : *
* Danny Falkov *
* Kai Blankenhorn *
* lboregard *
* Ork <ork@everydayangels.net> *
* Trekkie <Asimov@hotmail.com> *
* *
* For use with Ant Movie Catalog 3.4.0 *
* www.ant.be.tf/moviecatalog ยทยทยท www.buypin.com *
* *
* The source code of the script can be used in *
* another program only if full credits to *
* script author and a link to Ant Movie Catalog *
* website are given in the About box or in *
* the documentation of the program *
***************************************************)
program IMDb;
const
ExternalPictures = False;
{ True: Pictures will be stored as external files in the folder of the
catalog
False: Pictures will be stored inside the catalog (only for .amc files) }
ManualPictureSelect = True;
{ True: If no Title Match found a picture selection window appears
False: Revert to IMDB picture }
ImportLongDescription = True;
{ True: Automatically import the longest description
False: Description selection window appears }
ImportLanguage = False,
{ True: Import value of Language field }
DetailedInfo = False;
{ True: Import Detailed Info Including All Actors }
var
MovieName: string;
TheMovieTitle: string;
TheMovieAddress: string;
function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
var
i: Integer;
begin
Result := -1;
if StartAt < 0 then
StartAt := 0;
for i := StartAt to List.Count-1 do
if Pos(Pattern, List.GetString(i)) <> 0 then
begin
Result := i;
Break;
end;
end;
procedure AnalyzePage(Address: string);
var
Page: TStringList;
LineNr: Integer;
URL:String;
begin
Page := TStringList.Create;
Page.Text := GetPage(Address);
if pos('<TITLE>IMDb', Page.Text) = 0 then
begin
// URL
URL:='http://imdb.com/Title' + copy(Page.Text,pos('href="/Title?',Page.Text)+12, 8);
If DetailedInfo Then
Begin
URL:= 'http://imdb.com/Details' + copy(Page.Text,pos('href="/Details?',Page.Text)+14, 8);
Page.Text:=GetPage(URL);
End;
SetField(fieldURL,URL);
AnalyzeMoviePage(Page)
end else
begin
PickTreeClear;
LineNr := 0;
LineNr := FindLine('<H2><A NAME="top">Most popular searches</A></H2>', Page, LineNr);
if LineNr > -1 then
begin
PickTreeAdd('Most popular searches', '');
AddMoviesTitles(Page, LineNr);
end;
LineNr := FindLine('<H2><A NAME="mov">Movies</A></H2>', Page, LineNr);
if LineNr > -1 then
begin
PickTreeAdd('Movies', '');
AddMoviesTitles(Page, LineNr);
end;
LineNr := FindLine('<H2><A NAME="tvm">TV-Movies</A></H2>', Page, LineNr);
if LineNr > -1 then
begin
PickTreeAdd('TV-Movies', '');
AddMoviesTitles(Page, LineNr);
end;
LineNr := FindLine('<H2><A NAME="tvs">TV series</A></H2>', Page, LineNr);
if LineNr > -1 then
begin
PickTreeAdd('TV Series', '');
AddMoviesTitles(Page, LineNr);
end;
LineNr := FindLine('<H2><A NAME="vid">Made for video</A></H2>', Page, 0);
if LineNr > -1 then
begin
PickTreeAdd('Made for video', '');
AddMoviesTitles(Page, LineNr);
end;
//Sometimes, the IMDb sends a title in Most Popular Searches
// and the same title in Movies.
//TheMovieAddress and TheMovieTitle are used to choose directly
// that one movie instead of asking the user.
if TheMovieAddress = '' then
begin
if PickTreeExec(Address) then
AnalyzePage(Address);
end
else
AnalyzePage(TheMovieAddress);
end;
Page.Free;
end;
function FindValue(BeginTag, EndTag: string; Page: TStringList; var LineNr: Integer; var Line: string): string;
var
BeginPos, EndPos: Integer;
Value: string;
begin
Result := '';
Value := '';
BeginPos := Pos(BeginTag, Line);
if BeginPos > 0 then
begin
BeginPos := BeginPos + Length(BeginTag);
if BeginTag = EndTag then
begin
Delete(Line,1,BeginPos-1);
BeginPos := 1;
end;
EndPos := pos(EndTag, Line);
while ((EndPos = 0) and (LineNr < Page.Count-1 )) do
begin
Value := Value + copy(Line, BeginPos, Length(Line) - BeginPos);
// Next Line
BeginPos := 1;
LineNr := LineNr + 1;
Line := Page.GetString(LineNr);
if Value = '' then
Exit;
EndPos := Pos(EndTag, Line);
end;
Value := Value + copy(Line, BeginPos, EndPos - BeginPos);
end;
Result := Value;
end;
procedure AnalyzeMoviePage(Page: TStringList);
var
Line, Value, Value2, FullValue: string;
LineNr, BeginPos, EndPos,EndTable: Integer;
AllTitles: TStringList;
begin
AllTitles := TStringList.Create;
// Original Title & Year
LineNr := FindLine('<title>', Page, 0);
Line := Page.GetString(LineNr);
if LineNr > -1 then
begin
BeginPos := pos('<title>', Line);
if BeginPos > 0 then
BeginPos := BeginPos + 7;
EndPos := pos('(', Line);
if EndPos = 0 then
EndPos := Length(Line);
Value := copy(Line, BeginPos, EndPos - BeginPos - 1);
HTMLDecode(Value);
SetField(fieldOriginalTitle, Value);
// IMDB original Title
AllTitles.Add(Value);
// IMDB Corrected Title
Value:=TransformIMDBTitle(Value);
AllTitles.Add(Value);
BeginPos := pos('(', Line) + 1;
if BeginPos > 0 then
begin
EndPos := pos(')', Line);
Value := copy(Line, BeginPos, EndPos - BeginPos);
SetField(fieldYear, Value);
end;
end;
// Rating
LineNr := FindLine('User Rating:', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr + 4);
if Pos('/10', Line) > 0 then
begin
BeginPos := pos('<b>', Line) + 3;
Value := IntToStr(Round(StrToInt(StrGet(Line, BeginPos), 0) + (StrToInt(StrGet(Line, BeginPos + 2), 0) / 10)));
SetField(fieldRating, Value);
end;
end;
// Language
LineNr := FindLine('Language:', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr + 1);
BeginPos := pos('/">', Line) + 3;
EndPos := pos('</a>', Line);
if EndPos = 0 then
EndPos := Length(Line);
Value := copy(Line, BeginPos, EndPos - BeginPos);
if ImportLanguage then
SetField(fieldLanguages, Value);
end;
GetMoviePicture(Value, Page, AllTitles);
AllTitles.Free;
// Director
LineNr := FindLine('Directed by', Page, 0);
if LineNr > -1 then
begin
FullValue := '';
Line := Page.GetString(LineNr + 1);
repeat
BeginPos := pos('">', Line) + 2;
EndPos := pos('</a>', Line);
Value := copy(Line, BeginPos, EndPos - BeginPos);
if (Value <> '(more)') and (Value <> '') then
begin
if FullValue <> '' then
FullValue := FullValue + ', ';
FullValue := FullValue + Value;
end;
Delete(Line, 1, EndPos);
until Pos('</a>', Line) = 0;
HTMLDecode(FullValue);
SetField(fieldDirector, FullValue);
end;
// Actors
LineNr := FindLine('ast overview', Page, 0);
if LineNr = -1 then
LineNr := FindLine('redited cast', Page, 0);
if LineNr = -1 then
LineNr := FindLine('credits order', Page, 0);
if LineNr > -1 then
begin
FullValue := '';
Line := Page.GetString(LineNr);
repeat
BeginPos := Pos('<td valign="top">', Line);
EndTable:=Pos('</table>',Line);
if (BeginPos > 0) and (BeginPos < EndTable) then
begin
Delete(Line, 1, BeginPos);
Line := copy(Line, 25, Length(Line));
BeginPos := pos('">', Line) + 2;
EndPos := pos('</a>', Line);
if EndPos = 0 then
EndPos := Pos('</td>', Line);
Value := copy(Line, BeginPos, EndPos - BeginPos);
if (Value <> '(more)') and (Value <> '') then
begin
BeginPos := pos('.... </td><td valign="top">', Line);
if BeginPos > 0 then
begin
if DetailedInfo and (Pos('Quotes?',Line) > 0 ) and
(Pos('Quotes?',Line) - BeginPos < 40) Then
BeginPos:=Pos('Quotes?',Line) + 16
Else
BeginPos := BeginPos + 27;
EndPos := pos('</td></tr>', Line);
Value2 := copy(Line, BeginPos, EndPos - BeginPos);
HTMLRemoveTags(Value2);
if Value2 <> '' then
begin
Value := Value + ' (as ' + Value2 + ')';
end;
end;
if FullValue <> '' then
FullValue := FullValue + ', ';
FullValue := FullValue + Value;
end;
EndPos := Pos('</td></tr>', Line);
Delete(Line, 1, EndPos);
end else
begin
Line := '';
end;
until Line = '';
HTMLDecode(FullValue);
SetField(fieldActors, FullValue);
end;
//Country
LineNr := FindLine('Country:', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr + 1);
BeginPos := pos('/">', Line) + 3;
EndPos := pos('</a>', Line);
Value := copy(Line, BeginPos, EndPos - BeginPos);
HTMLDecode(Value);
SetField(fieldCountry, Value);
end;
//Category
LineNr := FindLine('Genre:', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr + 1);
BeginPos := pos('/">', Line) + 3;
EndPos := pos('</a>', Line);
Value := copy(Line, BeginPos, EndPos - BeginPos);
HTMLDecode(Value);
SetField(fieldCategory, Value);
end;
//Description
LineNr := FindLine('Plot Summary:', Page, 0);
if LineNr < 1 then
LineNr := FindLine('Plot Outline:', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr);
BeginPos := pos('</b>', Line) + 5;
EndPos := pos('<a href', Line);
if EndPos < 1 then
Line := Line + Page.GetString(LineNr+1);
EndPos := pos('<a href="/Plot?', Line);
if EndPos < 1 then
EndPos := pos('<br><br>', Line);
if EndPos < 1 then
EndPos := Length(Line);
PickListClear;
Value := copy(Line, BeginPos, EndPos - BeginPos);
HTMLDecode(Value);
PickListAdd(Value);
BeginPos := pos('/Plot?', Line);
EndPos := pos('">(more)', Line);
if (BeginPos <> 0) and (EndPos <> 0) then
begin
Value := copy(Line, BeginPos, EndPos - BeginPos);
Value := GetDescriptions(Value);
end;
if not ImportLongDescription then
begin
Value := '';
if PickListExec('Select a description for "' + MovieName + '"', Value) then
SetField(fieldDescription, Value);
end
else
SetField(fieldDescription, Value);
end;
// Comments
LineNr := FindLine('<b>Summary:</b>', Page, 0);
if LineNr > -1 then
begin
Value := '';
repeat
LineNr := LineNr + 1;
Line := Page.GetString(LineNr);
EndPos := Pos('</blockquote>', Line);
if EndPos = 0 then
EndPos := Length(Line)
else
EndPos := EndPos - 2;
Value := Value + Copy(Line, 1, EndPos) + ' ';
until Pos('</blockquote>', Line) > 0;
HTMLDecode(Value);
Value := StringReplace(Value, '<br>', #13#10);
Value := StringReplace(Value, #13#10+' ', #13#10);
SetField(fieldComments, Value);
end;
// Length
LineNr := FindLine('Runtime:', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr + 1);
EndPos := pos(' min', Line);
if EndPos = 0 then
EndPos := pos(' /', Line);
if EndPos = 0 then
EndPos := Length(Line);
if Pos(':', Line) < EndPos then
BeginPos := Pos(':', Line) + 1
else
BeginPos := 1;
Value := copy(Line, BeginPos, EndPos - BeginPos);
SetField(fieldLength, Value);
end;
DisplayResults;
end;
procedure GetMoviePicture(Language: string; Page, AllTitles: TStringList);
var
Line, Value, Value2, Aka, PictureAddress: string;
AmazonPage: TStringList;
FoundOnAmazon, PickTreeSelected, PictureAvailable: Boolean;
TitleRef, ImgRef, NoImage: string;
LineNr, BeginPos, EndPos, PickTreeCount, ParagraphIndex, Index, TitleLine, LastMatch: Integer;
begin
FoundOnAmazon := False;
// Find Alternate Titles for Movies which are not in English
Aka := '';
if Language <> 'English' Then
begin
LineNr:= FindLine('Also Known As',Page,0);
EndPos:=0;
if LineNr > -1 then
begin
Line := Page.GetString(LineNr);
repeat
Aka:=FindValue('<br>','<br>',Page,LineNr,Line);
if Aka <> '' then
begin
BeginPos:=1;
EndPos:=Pos('(',Line);
if EndPos = 0 then
EndPos := Length(Aka);
Value := copy(Aka, BeginPos, EndPos - BeginPos - 1);
Value:=TransFormIMDBTitle(Value);
AllTitles.Add(Value);
end;
until (Pos('Runtime',Line) > 0) or (Pos('MPAA',Line) > 0 );
end;
end;
TitleRef:='dvd>';
ImgRef:='dvd><img';
NoImage:='/icons/dvd-no-image.gif';
LineNr := FindLine('title="DVD available at Amazon.com"', Page, 0);
if LineNr = -1 then
begin
LineNr := FindLine('title="VHS available at Amazon.com"', Page, 0);
if LineNr > -1 then
begin
TitleRef:='video>';
ImgRef:='video><img';
NoImage:='/icons/video-no-image.gif';
end;
end;
if LineNr > -1 then
begin
Line := Page.GetString(LineNr);
BeginPos := Pos('href="', Line) + 5;
Delete(Line, 1, BeginPos);
EndPos := Pos('"', Line);
Value := Copy(Line, 1, EndPos - 1);
AmazonPage := TStringList.Create;
AmazonPage.Text := GetPage('http://us.imdb.com' + Value);
// Original Title
Value2 := AllTitles.GetString(0);
Value2 := TransFormIMDBTitle(Value2);
PickTreeClear;
PickTreeCount := 0;
PickTreeAdd('Available Titles for matching a picture to: ' + Value2, '');
ParagraphIndex := 1;
LineNr := 0;
LastMatch := -1;
TitleLine := -1;
repeat
LineNr := FindLine('<b>'+IntToStr(ParagraphIndex)+'.', AmazonPage, LineNr);
if LineNr > -1 then
begin
TitleLine:=LineNr;
Value:='';
PictureAvailable:=False;
repeat
TitleLine:=TitleLine +1;
Line:= AmazonPage.GetString(TitleLine);
BeginPos:=0;
if Pos(TitleRef,Line) > 0 then
begin
if Pos(ImgRef,Line) = 0 then
begin
for Index:=0 to AllTitles.Count -1 do
begin
Value2:=AllTitles.GetString(Index);
BeginPos:=Pos(Value2,Line);
if BeginPos > 0 then
Break;
end;
// Match not found
if BeginPos = 0 then
begin
BeginPos:=Pos(TitleRef,Line)+Length(TitleRef);
EndPos:=Pos('</a>',Line);
Value:=Copy(Line,BeginPos,EndPos-BeginPos);
end;
end
else
begin
PictureAvailable:=(Pos(NoImage,Line) = 0);
PictureAddress:=IntToStr(TitleLine);
end;
end;
if BeginPos > 0 then
Break;
until (Pos('</table>',Line ) > 0);
// Try to Find a Title Match
if Pos(Value2,Line) > 0 then
begin
// Compare Current Title to Original
BeginPos := Pos(TitleRef, Line) + Length(TitleRef) -1;
Delete(Line, 1, BeginPos);
EndPos:= Pos('(',Line);
if EndPos = 0 Then
EndPos := Pos('</a>', Line);
Value := Copy(Line, 1, EndPos - 1);
Value:= Trim(Value);
if Value = Value2 then
begin
if PictureAvailable then
LastMatch:=LineNr;
//Break
end;
end;
if PictureAvailable then
begin
PickTreeAdd(Value,PictureAddress);
PickTreeCount:=PickTreeCount+1;
end;
end;
ParagraphIndex:=ParagraphIndex+1;
until (LineNr = -1);
LineNr:=LastMatch;
if (LineNr = -1) then
begin
// Handle Amazon Page Redirection(s)
LineNr:= FindLine('You clicked on this item',AmazonPage,0);
if (LineNr = -1) then
LineNr:=FindLine('Customers who bought',AmazonPage,0);
// Display the Picture Selection Window
if (LineNr = -1) and ManualPictureSelect and (PickTreeCount > 0) then
begin
PickTreeSelected:=PickTreeExec(PictureAddress);
if PickTreeSelected then
LineNr:=StrToInt(PictureAddress,0);
end;
if (LineNr > -1 ) then
begin
LineNr := FindLine('src="http://images.amazon.com/images/P/',AmazonPage, LineNr);
if not PickTreeSelected then
TitleLine:= FindLine('/exec/obidos/ASIN/',AmazonPage, 0);
if (LineNr > TitleLine) then
LineNr:=-1;
if LineNr > -1 then
begin
Line := AmazonPage.GetString(LineNr);
BeginPos := Pos('src="http://images.amazon.com/images/P/', Line) + 4;
Delete(Line, 1, BeginPos);
EndPos := Pos('"', Line);
Value := Copy(Line, 1, EndPos - 1);
Value := StringReplace(Value, 'TZZZZZZZ', 'LZZZZZZZ');
Value := StringReplace(Value, 'THUMBZZZ', 'LZZZZZZZ');
GetPicture(Value, ExternalPictures);
FoundOnAmazon := True;
end;
end;
end
else
begin
LineNr := FindLine('http://images.amazon.com/images/P/', AmazonPage, LineNr);
if LineNr < TitleLine then
begin
Line := AmazonPage.GetString(LineNr);
BeginPos := Pos('src="', Line) + 4;
Delete(Line, 1, BeginPos);
EndPos := Pos('"', Line);
Value := Copy(Line, 1, EndPos - 1);
Value := StringReplace(Value, 'THUMBZZZ', 'LZZZZZZZ');
GetPicture(Value, ExternalPictures);
FoundOnAmazon := True;
end;
end;
AmazonPage.Free;
end;
if not FoundOnAmazon then
begin
{ not found on Amazon, so taking what's available directly on IMDB.
if we are lucky, a picture from amazon but directly linked in the page }
LineNr := FindLine('<img alt="cover" align="left" src="http://ia.imdb.com/media/imdb/', Page, 0);
if LineNr < 0 then
LineNr := FindLine('<img alt="cover" align="left" src="http://posters.imdb.com/', Page, 0);
if LineNr < 0 then
LineNr := FindLine('<img alt="cover" align="left" src="http://images.amazon.com/', Page, 0);
if LineNr > -1 then
begin
Line := Page.GetString(LineNr);
BeginPos := pos('src="', Line) + 4;
Delete(Line, 1, BeginPos);
EndPos := pos('"', Line);
Value := copy(Line, 1, EndPos - 1);
Value := StringReplace(Value, 'MZZZZZZZ', 'LZZZZZZZ'); // change URL to get the Large instead of Small image
GetPicture(Value, ExternalPictures);
end;
end;
end;
function TransformIMDBTitle(Title: string): string;
var
BeginPos, EndPos: Integer;
Value: string;
Words: array of string;
Articles: array of string;
Replace,Original: string;
Index, CommaCount: Integer;
Begin
// Original Title
Result:=Title;
Setarraylength(Words,11);
Words[0]:=' In ';
Words[1]:=' On ';
Words[2]:=' Of ';
Words[3]:=' As ';
Words[4]:=' The ';
Words[5]:=' At ';
Words[6]:=' And A ';
Words[7]:=' And ';
Words[8]:=' An ';
Words[9]:=' To ';
Words[10]:=' For ';
SetArrayLength(Articles,35);
Articles[0]:=' The';
Articles[1]:=' a';
Articles[2]:=' An';
Articles[3]:=' Le';
Articles[4]:=' L''';
Articles[5]:=' Les';
Articles[6]:=' Der';
Articles[7]:=' Das';
Articles[8]:=' Die';
Articles[9]:=' Des';
Articles[10]:=' Dem';
Articles[11]:=' Den';
Articles[12]:=' Ein';
Articles[13]:=' Eine';
Articles[14]:=' Einen';
Articles[15]:=' Einer';
Articles[16]:=' Eines';
Articles[17]:=' Einem';
Articles[18]:=' Il';
Articles[19]:=' Lo';
Articles[20]:=' La';
Articles[21]:=' I';
Articles[22]:=' Gli';
Articles[23]:=' Le';
Articles[24]:=' Uno';
Articles[25]:=' Una';
Articles[26]:=' Un''';
Articles[27]:=' O';
Articles[28]:=' Os';
Articles[29]:=' As';
Articles[30]:=' El';
Articles[31]:=' Los';
Articles[32]:=' Las';
Articles[33]:=' Unos';
Articles[34]:=' Unas';
// Count the Comma in The Title
CommaCount := 0;
EndPos := 0;
Value := Title;
repeat
BeginPos := Pos(',', Value);
if BeginPos > 0 then
begin
Delete(Value, 1, BeginPos);
CommaCount := CommaCount + 1;
EndPos := EndPos + BeginPos;
end;
until( Pos(',',Value) = 0);
// Compare the Article to a list of known ones
for Index := 0 to 34 do
begin
if Pos(Articles[Index], Value) <> 0 then
begin
CommaCount := 1;
BeginPos := EndPos;
Break;
end;
end;
if (BeginPos > 0) and (CommaCount = 1) then
begin
Value := Copy(Title, BeginPos + 1, Length(Title));
Value := Trim(Value);
Result := Value + ' ' + Copy(Title, 1, BeginPos - 1);
end;
BeginPos := Pos(': ', Result);
if BeginPos > 0 then
Result := StringReplace(Result, ': ', ' - ');
Result := AnsiMixedCase(Result, ' ');
for Index := 0 to 10 do
begin
if Pos(Words[Index],Result) <> 0 then
begin
Original := Words[Index];
Replace := AnsiLowerCase(Original);
Result := StringReplace(Result, Original, Replace);
end;
end;
Result := StringReplace(Result, ' - the ', ' - The ');
Result := Trim(Result);
end;
function GetDescriptions(Address: string):String;
var
Line, Value: string;
LineNr: Integer;
BeginPos, EndPos,Longest: Integer;
Page: TStringList;
begin
Result:='';
Longest:=0;
Page := TStringList.Create;
Page.Text := GetPage('http://us.imdb.com' + Address);
LineNr := FindLine('<p class="plotpar">', Page, 0);
while LineNr > -1 do
begin
Value := '';
repeat
Line := Page.GetString(LineNr);
BeginPos := pos('"plotpar">', Line);
if BeginPos > 0 then
BeginPos := BeginPos + 10
else
BeginPos := 1;
EndPos := pos('</p>', Line);
if EndPos < 1 then
EndPos := Length(Line) + 1;
if Value <> '' then
Value := Value + ' ';
Value := Value + copy(Line, BeginPos, EndPos - BeginPos);
LineNr := LineNr + 1;
until (pos('</p>', Line) > 0) or (LineNr = Page.Count);
HTMLDecode(Value);
PickListAdd(Value);
if Length(Value) > Longest then
begin
Result := Value;
Longest := Length(Value);
end;
LineNr := FindLine('<p class="plotpar">', Page, LineNr);
end;
Page.Free;
end;
procedure AddMoviesTitles(Page: TStringList; var LineNr: Integer);
var
Line: string;
MovieTitle, MovieAddress: string;
StartPos: Integer;
begin
repeat
LineNr := LineNr + 1;
Line := Page.GetString(LineNr);
StartPos := pos('="', Line);
if StartPos > 0 then
begin
Startpos := Startpos + 2;
MovieAddress := copy(Line, StartPos, pos('">', Line) - StartPos);
StartPos := pos('">', Line) + 2;
MovieTitle := copy(Line, StartPos, pos('</A>', Line) - StartPos);
HTMLDecode(Movietitle);
//Remove duplicates
if TheMovieTitle='' then
begin
TheMovieTitle:=MovieTitle;
TheMovieAddress:='http://us.imdb.com' + MovieAddress;
end
else
begin
if TheMovieTitle<>'*' then
if TheMovieTitle<>MovieTitle then
begin
TheMovieTitle:='*';
TheMovieAddress:='';
end;
end;
PickTreeAdd(MovieTitle, 'http://us.imdb.com' + MovieAddress);
end;
until pos('</OL>', Line) > 0;
end;
begin
if CheckVersion(3,4,0) then
begin
TheMovieTitle:='';
TheMovieAddress:='';
MovieName := GetField(fieldOriginalTitle);
if MovieName = '' then
MovieName := GetField(fieldTranslatedTitle);
if Input('IMDb Import', 'Enter the title of the movie:', MovieName) then
begin
// AnalyzePage('http://us.imdb.com/Tsearch?title='+UrlEncode(MovieName)+'&restrict=Movies+only');
AnalyzePage('http://us.imdb.com/Tsearch?title='+UrlEncode(MovieName));
end;
end
else
ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.4.0)');
end.