home *** CD-ROM | disk | FTP | other *** search
Wrap
// GETINFO SCRIPTING // AMAZON PICTURE IMPORT (large picture) (* Author: facts (jfacts1731@yahoo.com) Script for the importation of pictures from amazon, FindLine code taken from IMDB (large pic).ifs, GetToken code from SWAG archive For use with Ant Movie Catalog 3.4.0 www.ant.be.tf/moviecatalog ╖╖╖ www.buypin.com *) program AmazonImport; var AmazonPage, AmazonPageNOHTML: TStringList; TempHold, THolder, MovieName : string; LineNr, I: Integer; 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; function GetToken(aString, SepChar: String; TokenNum: Integer):String; var Token : string; StrLen : Integer; TNum : Integer; TEnd : Integer; begin StrLen := Length(aString); TNum := 1; TEnd := StrLen; while ((TNum <= TokenNum) and (TEnd <> 0)) do begin TEnd := Pos(SepChar,aString); if TEnd <> 0 then begin Token := Copy(aString,1,TEnd-1); Delete(aString,1,TEnd); TNum := TNum + 1; end else begin Token := aString; end; end; if TNum >= TokenNum then begin GetToken := Token; end else begin GetToken := ''; end; end; function AsinParse(Line : string): string; begin Result := GetToken(GetToken(Line,'.',2),Chr(34),1); end; begin MovieName := GetField(fieldOriginalTitle); if Input('IMDb Import', 'Enter the title of the movie:', MovieName) = False then MovieName := GetField(fieldOriginalTitle); AmazonPage := TStringList.Create; AmazonPage.Text := GetPage('http://www.amazon.de/exec/obidos/search-handle-url/index=dvd-de&field-title=' + StringReplace(UrlEncode(MovieName),'+', '%20')); {* debugging stuff AmazonPageNOHTML := TStringList.Create; AmazonPageNOHTML.Text := AmazonPage.Text; TempHold := AmazonPageNOHTML.Text; HTMLRemoveTags(TempHold); AmazonPageNOHTML.Text := TempHold; AmazonPageNOHTML.SaveToFile('d:\rips\nohtmlized.txt'); AmazonPage.SaveToFile('d:\rips\htmlized.txt'); *} if FindLine('Infos zu diesem Titel',AmazonPage,1) <> -1 then begin LineNr := FindLine('<input type="hidden" name="asin.',AmazonPage,1); GetPicture('http://images-eu.amazon.com/images/P/' + AsinParse(AmazonPage.Getstring(LineNr)) + '.03.LZZZZZZZ.jpg',False); exit; end else if FindLine('Wir haben keine genauen Treffer fⁿr Ihre Suche fⁿr ',AmazonPage,1) <> -1 then begin exit; end else if (FindLine('Die besten Treffer',AmazonPage,1) <> -1) OR (FindLine('Alle Ergebnisse fⁿr',AmazonPage,1) <> -1) then begin I := 1; PickTreeClear; PickTreeAdd('Movies',''); while (i <= AmazonPage.Count-1) do begin THolder := AmazonPage.GetString(i); HTMLRemoveTags(THolder); if (Pos('/exec/obidos/ASIN/',AmazonPage.GetString(i)) <> 0) and (THolder <> '') and (Pos('Preis: EUR',AmazonPage.GetString(i)) = 0) and (Pos('THUMBZZZ',AmazonPage.GetString(i)) = 0) then PickTreeAdd(THolder,GetToken(AmazonPage.GetString(i),'/',5)); i := i + 1; end if PickTreeExec(THolder) then begin GetPicture('http://images-eu.amazon.com/images/P/' + THolder + '.03.LZZZZZZZ.jpg',False); exit; end exit; end else end.