(*************************************************** Ant Movie Catalog importation script www.antp.be/software/moviecatalog/ [Infos] Authors=FypeR , Karagarga, Tiu Fang(base) Title=Mynet beyazperde Description=BeyazPerde den film ile ilgili bilgi ve mini resim alır. Site=http://beyazperde.mynet.com Language=TR Version=v3.02.2 Requires=3.5.0 Comments=İstek ve öneriler için uuv9esg02@sneakemail.com irtibata geçiniz.||Beyazperde ile ilgili olarak sayfalarında çok fazla gereksiz veri bulunuyor. |Arama sayfalarıın işlenmesi bu gereksiz veriler yüzünden uzun sürüyor.|| License=This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. | GetInfo=1 [Options] AramaMiktar=1|1|0=25 adet sonuç için arama yapar|1=50 adet sonuç için arama yapar|2=100 adet sonuç için arama yapar|3=200 adet sonuç için arama yapar|4=400 adet sonuç için arama yapar(uzun sürecek)!!! AramaListeTipi=0|0|0=Arama sonuç listesi Tarih sıralı olur(Geçmişe doğru)|1=Arama Sonuç listesi Ad sıralı olur(0..A....Z)|2=Arama Sonuç listesi Puan Sıralı olur(Azalan)|3=Arama sonuç listesi Ters Tarih sıralı olur(Geçmişten geleceğe|4=Arama sonuç listesi Ad sıralı olur(Z...A...0)|5=Arama sonuç listesi Ters puan sıralı olur(Artan) Tanekle=1|1|0=Hazırda varolan filmin tanımı temizler ve beyazperde içindeki tanımı ekler|1=Hazırda var olan tanımı beyazperde tanımının arkasına ekler Gor_yonetmeni=1|1|0=Görüntü yönetmeni bilgisini alma|1=G. y. bilgisini al ve yönetmenin arkasına ekle|2=G. y. bilgisini al ve Konu alanına ekle(sondan) Muzik=1|1|0=Muzik bilgisini alma|1=Muzik bilgisini al ve senaryo ekibinin arkasına ekle|2=M. bilgisini al ve konu kısmına ekle (sondan) Gos_tar=2|2|0=Gosterim tarihi bilgisini alma|1=GT. bilgisini al ve eklenme tarih alanına yaz + eklenme tarihini de konunun ardına ekle|2=G.T. bilgisini al ve konu kısmına ekle(sondan)|3=GT. bilgisini al eklenme tarihi bilgisi ile değiştir. ***************************************************) //FypeR 26.09.2009 //film seçim listesindeki adres almama sorunu düzeltildi //film orjinal/çeviri isimlerini almama giderildi //Fyper 22.02.2009 //film listeleme sayfasındaki düzenleme yüzünden çalışmayan picktreelist prosedürü //tekrar baştan düzenlendi. daha hızlı çalışıyor. //Fyper 31-08-2008 //boş görüntü yönetmeni bilgisine karşı iyileştirme yapıldı //FypeR 20-7-2007 //görüntü yönetmeni bilgisi alıp almama ve nereye alınacağı eklendi //müzik bilgisi alıp almama ve nereye ekleneceği eklendi //gösterim tarihi bilgisi alıp almama ve nereye ekleneceği eklendi //FypeR 18-7-2007 //sayfa değişiklikleri güncellendi //bazı hızlandırıcı kontroller eklendi. //görüntü yönetmeni eklendi //FypeR edit 8,4,2006 22:22 gmt+2 // sitenin hosting değiştirmesinden kaynaklanan adres değişikliği güncelleme ile //giderildi // özgün isim , çeviri ismi ve yıl bilgisi düzeltildi //tanım alanı tekrar düzeltildi //FypeR edit 9,3,2006 13:19 gmt+2 //tanım alanındaki fazla kırpma düzeltildi. //FypeR edit 3,3,2006 16:00 gmt +2 //sonsuz döngü hatalarına yol açan kontroller değiştirildi //ek arama fonksiyonu düzenlendi(anti amele sistem eklendi) //bilgilendirmeler eklendi //film tanımı alma düzenlendi //FypeR edit 24,2,2006 17:37 gmt+2 //arama fonksiyonunun sonlandırma noktası değiştirildi //FypeR edit 15,2,2006 01:00 gmt+2 //seçilebilir arama miktarı eklendi //seçilebilir arama yöntemi eklendi //arama sayfası değiştirildi //film seçim sayfası düzenlendi //ek arama eklendi //FypeR edit 07-02-2006 16:16 gmt+2 //senaryo+kitap alanı düzeltildi //tarihçe eklendi //minik bilgilendirmeler eklendi program BeyazPerde; var MovieName: string; denek : integer; basdeger,sondeger: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; procedure AnalyzePage(Address: string); var Page: TStringList; LineNr: Integer; pozisyon: integer; begin Page := TStringList.Create; Page.Text := GetPage(Address); pozisyon:=pos('Beyazperde.com - Film Arama', Page.Text); //Arama if pozisyon = 0 then begin SetField(fieldURL, Address); AnalyzeMoviePage(Page) end else begin // PickTreeClear; LineNr := 0; LineNr := FindLine(' ( Listelenen: ', Page, LineNr); // //LineNr := FindLine('Filmler', Page, LineNr); if LineNr > -1 then begin basdeger:=pos('Toplam: ', Page.text)+11; sondeger:= pos(' ) ',page.text); PickTreeAdd('Beyaz Perde Filmleri (Toplam:'+copy(page.text,basdeger,sondeger-basdeger)+' film)', ''); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<0 LineNr:=FindLine(' -1 then begin BeginPos := pos('"baslik_filmadi31">', Line); if BeginPos > 0 then BeginPos := BeginPos + 19; EndPos := pos('', Line); if EndPos > BeginPos then begin //EndPos := pos(' (', Line); Value := copy(Line, BeginPos, EndPos - BeginPos); SetField(fieldTranslatedTitle, Value); //SetField(fieldOriginalTitle, Value);//orjinalide aynı yap end begin LineNr:= FindLine('"baslik_filmadi32">', Page, linenr); if(linenr>-1) then begin Line := Page.GetString(LineNr); BeginPos := pos('"baslik_filmadi32">', Line); BeginPos := BeginPos + 19; EndPos := pos('', Line); if EndPos > BeginPos then begin Value := copy(Line, BeginPos, EndPos - BeginPos); SetField(fieldOriginalTitle, Value); end; end else begin SetField(fieldOriginalTitle, Value);//madem orjinal isim yok demek ki orjinali bulmuşum end; end; // BeginPos := pos('(', Line) + 1; // if BeginPos > 0 then // begin // EndPos := pos(')', Line); // Value := copy(Line, BeginPos, EndPos - BeginPos); // SetField(fieldYear, Value); // end; end; // sinepuan LineNr := FindLine('SinePuan:', Page, 0); //span class="metin2"> if LineNr > -1 then begin Line := Page.GetString(LineNr); if Pos(' 0 then begin BeginPos := pos(':15px;">', Line) + 8; EndPos := pos('', Line); Value := copy(Line, BeginPos, EndPos - BeginPos); BeginPos := pos('(', Line); EndPos := pos(')', Line) + 1; Value := Value + ' ' + copy(Line, BeginPos, EndPos - BeginPos) + ', '; FullValue := FullValue + Value; end; until (pos('', Line) > 0) OR (linenr=Page.Count-1); EndPos := Length(FullValue); Delete(FullValue, EndPos - 1, EndPos); HTMLDecode(FullValue); SetField(fieldActors, FullValue); end; //Country LineNr := FindLine('', Page, 0); if LineNr > -1 then begin linenr:=linenr+1; value:=''; repeat Line := Page.GetString(LineNr); beginpos:=pos('1_px>',line); if beginpos>1 then begin BeginPos := beginpos + 5; EndPos := pos('', Line); if length(value)>1 then value:=value+ ' / '; Value := value+ copy(Line, BeginPos, EndPos - BeginPos); end; linenr:=linenr+1; until (pos('- SURESI --', line)>1) OR (linenr=Page.Count-1); HTMLDecode(Value); SetField(fieldCountry, Value); end; //muzik case getOption('Muzik') of 1, 2: begin LineNr := FindLine('- MUZIK -', Page, 0); if LineNr > -1 then begin linenr:=linenr+1; value2:=''; repeat Line := Page.GetString(LineNr); beginpos:=pos('1_px>',line); if beginpos>1 then begin BeginPos := beginpos + 5; EndPos := pos('', Line); if length(value2)>1 then value2:=value2+ ' / '; Value2 := value2+ copy(Line, BeginPos, EndPos - BeginPos); end; linenr:=linenr+1; until (pos('YAPIM YILI', line)>1) OR (linenr=Page.Count-1); HTMLDecode(Value2); end; end; end; if(length(value2)>1) then begin case getOption('Muzik') of 1: begin Value2:= GetField(fieldProducer)+' Müzik:'+ Value2; SetField(fieldProducer, Value2); end; 2: begin muzik:=#13#10+' Müzik:'+ Value2; end; end; end; // LineNr := FindLine('', Page, 0); if LineNr > -1 then begin Line := Page.GetString(LineNr + 2); BeginPos := pos('1_px>', Line) + 5; EndPos := pos('', Line); Value := copy(Line, BeginPos, EndPos - BeginPos); HTMLDecode(Value); SetField(fieldYear, Value); end; //Category // LineNr := FindLine('arama.asp?kat=tur', Page, 0); //if LineNr > -1 then // begin // Line := Page.GetString(LineNr); // BeginPos := pos('em>', Line) + 3; // EndPos := pos('', Line); // Value := copy(Line, BeginPos, EndPos - BeginPos); // HTMLDecode(Value); // SetField(fieldCategory, Value); // end; // kategori FullValue := ''; LineNr := FindLine('', Page, 0); if LineNr > -1 then begin Line:= Page.GetString(linenr); repeat LineNr := LineNr + 1 ; if linenr>page.count then showmessage('Döngüsel Hata 2'); Line := Page.GetString(LineNr); if pos('arama.asp?kat=tur', Line) > 0 then begin BeginPos := pos('1_px>', Line) + 5; EndPos := pos('', Line); Value := copy(Line, BeginPos, EndPos - BeginPos); linenr := linenr + 1; if linenr>page.count then showmessage('Döngüsel Hata 3'); fullvalue := fullvalue + value + ' / '; end; until pos('GÖSTERİM TARİHİ -',line)>0 ; EndPos := Length(FullValue); Delete(FullValue, EndPos - 1, EndPos); HTMLDecode(fullValue); SetField(fieldCategory, fullValue); end // Length LineNr := FindLine('', Page, 0); if LineNr > -1 then begin Line := Page.GetString(LineNr + 2); BeginPos := pos(', ', Line) + 2; EndPos := pos(' dk', Line); Value := copy(Line, BeginPos, EndPos - BeginPos); SetField(fieldLength, Value); end; //Description LineNr := FindLine('', Page, 0); Value := ''; //while linenrpage.count then showmessage('hatalı veri alımı 2'); denek:=page.count; Line := Page.GetString(LineNr); if pos('', Line) < 1 then begin Value := Value + Line; end; until (pos('',line)>0) or (linenr=page.count-1); //pos('', Line); if TempPos < 1 then begin StartPos := pos('kat=film" class="turuncucizgisiz_11_px">', Line); //StartPos := pos('', Line) - StartPos); StartPos := pos('', Line) + 4; year := copy(Line, StartPos, pos(')
', Line) - StartPos + 1 ); if length(year)<4 then begin year := copy(Line, StartPos, pos(')

', Line) - StartPos + 1 ); end; startpos := pos('', Line) + 3; MovieTitle := copy(Line, StartPos, pos('', Line) - StartPos); StartPos := pos(')
', Line)+5; if(startpos>5) then begin endpos := pos('

', line); // endpos := Length(line)-3 ; end; movietitle := movietitle + year+ ' / ' + copy(line, startpos, endpos - startpos) ; end else begin movietitle := movietitle + year ; end; //LineNr := LineNr + 1; //Line := Page.GetString(LineNr); //StartPos := pos('/ ', Line) + 2; //MovieTitle := MovieTitle + ' / ' + copy(Line, StartPos, pos ('
', Line) - StartPos); HTMLDecode(Movietitle); PickTreeAdd(MovieTitle, 'http://beyazperde.mynet.com' + MovieAddress); end; end; //until linenr>page.count-1; until pos('( Listelenen: ', Line) > 0; //2.repeat if extraara<=0 then begin repeat LineNr := LineNr + 1; if linenr>page.count then showmessage('Eksik ya da hatalı veri alımı 5-2'); denek:=page.count; Line := Page.GetString(LineNr); StartPos := pos('kat=film" class="turuncucizgisiz_11_px">', Line); //StartPos := pos('