[REL] [PL] FilmWeb.pl 3.0 - The Best Polish Script

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.

Jak oceniasz skrypt

1
3
7%
2
1
2%
3
4
10%
4
5
12%
5
8
19%
Cudo :)
21
50%
 
Total votes: 42

whisp
Posts: 37
Joined: 2013-02-23 21:48:06

Post by whisp »

Pobiera Wam normalnie czas trwania filmu?
Yogi_18
Posts: 50
Joined: 2012-02-18 05:56:41

Post by Yogi_18 »

Hej

Zauważyłem błąd który troszkę utrudnia działanie programu...
Moja baza osiągnęła prawie 8 tyś pozycji, w tym notuje sobie premiery to co chce obejrzeć, to co posiadam, i to co będzie w przyszłości...
Plik z danymi ma 140 MB, a plików typu okładki mamy już 320 tyś....
Błąd jest taki że w momencie przeglądania bazy i przechodzenia pomiędzy filmami plik się zawiesza, wygląda to tak jak by program nie wyrabiał z ogarnianiem połączeń między plikiem bazowym, a zdjęciami. Jedyna opcja to na siłę wyłączenie programu...

W związku z powyższym zastanawiam się czy problem dalej by występował w momencie jak by podzielić ilość plików z jednego folderu na kilka mniejszych, choćby to co pisał Ariell dodatki z filmu zaczynającego się na A... będą w folderze "A", ilość plików w jedym folderze się zmaleje, ale ciekawe jaki to będzie miało wpływ na wydajność.


Drugi błąd który jest to dopisek "Zdublowane", wychodzi na to że w momencie jak usuniemy pozycję zdublowaną z bazy i odświeżmy tę pierwszą pozycję to program nadal wywali komunikat że film jest już w bazie... Program przy kasowaniu nie usuwa wpisów w pliku "Filmy.adb", przydałoby się jakiś skrypt który zweryfikuje który wpis jest "aktualny", a który można wykasować... (zakładam że to możliwe byłoby do zrobienia, więc może nasz mistrz weźmie to kiedyś pod uwagę :))
Ariell
Posts: 204
Joined: 2014-12-21 09:52:15
Location: Gdzieś w drodze mlecznej

Post by Ariell »

Yogi_18 wrote:Hej

Zauważyłem błąd który troszkę utrudnia działanie programu...
Moja baza osiągnęła prawie 8 tyś pozycji, w tym notuje sobie premiery to co chce obejrzeć, to co posiadam, i to co będzie w przyszłości...
Plik z danymi ma 140 MB, a plików typu okładki mamy już 320 tyś....
Błąd jest taki że w momencie przeglądania bazy i przechodzenia pomiędzy filmami plik się zawiesza, wygląda to tak jak by program nie wyrabiał z ogarnianiem połączeń między plikiem bazowym, a zdjęciami. Jedyna opcja to na siłę wyłączenie programu...

W związku z powyższym zastanawiam się czy problem dalej by występował w momencie jak by podzielić ilość plików z jednego folderu na kilka mniejszych, choćby to co pisał Ariell dodatki z filmu zaczynającego się na A... będą w folderze "A", ilość plików w jedym folderze się zmaleje, ale ciekawe jaki to będzie miało wpływ na wydajność.

MoveExtras usuwa przeciążenie windowsa przy odczycie ogromnych ilości plików z jednego katalogu.

Yogi_18 wrote:Drugi błąd który jest to dopisek "Zdublowane", wychodzi na to że w momencie jak usuniemy pozycję zdublowaną z bazy i odświeżmy tę pierwszą pozycję to program nadal wywali komunikat że film jest już w bazie... Program przy kasowaniu nie usuwa wpisów w pliku "Filmy.adb", przydałoby się jakiś skrypt który zweryfikuje który wpis jest "aktualny", a który można wykasować... (zakładam że to możliwe byłoby do zrobienia, więc może nasz mistrz weźmie to kiedyś pod uwagę :))
popatrzę (Duplikaty aż tak bardzo nie były testowane).
A co do pierwszego to powstaje też wersja na kilka baz danych z jednym centralnym katalogiem zdjęć.
Obecnie testuję 3 różne rozwiązania i muszę któreś wybrać bo oryginalne powodowało dużo błędów.[/quote]
whisp
Posts: 37
Joined: 2013-02-23 21:48:06

Post by whisp »

whisp wrote:Pobiera Wam normalnie czas trwania filmu?
Ponawiam swoje pytanie, bo przekopiowałem z najnowszej wersji skryptu część kodu odpowiedzialną za pobranie czasu trwania filmu i dalej nie pobiera...
Ariell
Posts: 204
Joined: 2014-12-21 09:52:15
Location: Gdzieś w drodze mlecznej

Post by Ariell »

whisp wrote:
whisp wrote:Pobiera Wam normalnie czas trwania filmu?
Ponawiam swoje pytanie, bo przekopiowałem z najnowszej wersji skryptu część kodu odpowiedzialną za pobranie czasu trwania filmu i dalej nie pobiera...
Jutro zobaczę. Co się dzieje.

Obecnie skończyłem projekt nowego nagłośnienia w samochodzie.
Podobny jest u mnie do oglądania filmów. Dźwięk przestrzenny DTS THX to dno w konfrontacji z moim.
robinse
Posts: 23
Joined: 2017-09-11 15:24:05

Post by robinse »

Hello,

Czy polska wersja Ant movie nadal się rozwija..... :)
Yogi_18
Posts: 50
Joined: 2012-02-18 05:56:41

Post by Yogi_18 »

Jeżeli Ariell porzucił projekt i dalsze rozwijanie tego programu...
To marny będzie nasz los :( :cry:
athe
Posts: 170
Joined: 2013-06-01 20:26:24
Location: Poland

Post by athe »

whisp wrote:
whisp wrote:Pobiera Wam normalnie czas trwania filmu?
Ponawiam swoje pytanie, bo przekopiowałem z najnowszej wersji skryptu część kodu odpowiedzialną za pobranie czasu trwania filmu i dalej nie pobiera...
Dalej masz z tym problem? Jeżeli tak, to zmień linijkę Value na poniższą

Code: Select all

//Czas trwania
	if ((GetField(fieldLength) = '') or (GetField(fieldVideoFormat) = '') or (GetOption('CzasTrwaniaFilmu') = 1)) then
	begin
		Value := TextBetween(Page.Text, 'datetime="PT','M');
		if ((Length(Value) > 0) and (not ((GetOption('Aktualizacja') = 2) and (GetField(fieldLength)=Value)))) then SetField(fieldLength, Value);
	end;
Pozdrawiam.
Możliwe, że Ariell jest czymś zajęty albo ma poważny powód do braku aktywności, poczekajmy.
Ariell
Posts: 204
Joined: 2014-12-21 09:52:15
Location: Gdzieś w drodze mlecznej

Post by Ariell »

Yogi_18 wrote:Jeżeli Ariell porzucił projekt i dalsze rozwijanie tego programu...
To marny będzie nasz los :( :cry:
:hihi: :hihi:
whisp
Posts: 37
Joined: 2013-02-23 21:48:06

Post by whisp »

athe, dziękuję!
athe
Posts: 170
Joined: 2013-06-01 20:26:24
Location: Poland

Zyczenia

Post by athe »

Życzę wszystkim forumowiczom AMC spokojnych i wesołych Świąt oraz szczęśliwego Nowego Roku.
robinse
Posts: 23
Joined: 2017-09-11 15:24:05

Post by robinse »

Cześć, jest problem ze skryptem.... chyba filmweb coś pozmieniał, bo nie odnajduje filmów
athe
Posts: 170
Joined: 2013-06-01 20:26:24
Location: Poland

Post by athe »

Zmienili skubańce sposób wyszukiwania filmów. Utworzyli dodatkową stronę, z której trzeba wybrać film. Ariell, zerknij jak masz chwilę czasu. Bez tej poprawki cała Twoja praca pójdzie na marne. Naprawdę szkoda, bo to najlepszy skrypt do AMC i na dodatek polski. Zauważyłem, że w części gdzie jest adres wyszukiwania jest różnica w starej linii jest:

Code: Select all

AnalyzeSearchPage('http://www.filmweb.pl/search/film?q=' + MovieName, 'film');
AnalyzeSearchPage('http://www.filmweb.pl/search/serial?q=' + MovieName, 'serial');
a w nowej ma być:

Code: Select all

AnalyzeSearchPage('http://www.filmweb.pl/films/search?q=' + MovieName, 'film');
AnalyzeSearchPage('http://www.filmweb.pl/serials/search?q=' + MovieName, 'serial');
Ale niestety bez Ariella się nie uda. Proste rzeczy można jakoś poprawić, ale w przypadku gdy zmienili całą strukturę strony?
Dobra, poprawiłem część skryptu:

Code: Select all

procedure GetMovieTitles(Address : String)
na:

Code: Select all

procedure GetMovieTitles(Address : String);
var
  Page : TStringList;
  Line, Year, MovieTitle, MovieAddress : String;
  LineNr : Integer;
begin
  Page := TStringList.Create;
  Page.Text := UTF8Decode(GetPage(Address));
  //Page.Text := StringReplace(Page.Text, '<div class'+ StrSep +'class="hits__item"'+ StrSep +'>', #13#10 + '<div class=hitDescWrapper>');
  Page.Text := TextBetween(Page.Text, 'id="searchResult" >', 'class="content__sidebar">');
    Line := Page.Text;

  LineNr := FindLine('filmPreview--', Page, 0);
  while LineNr > -1 do
  begin
    Line := Page.GetString(LineNr + 0) + Page.GetString(LineNr + 1) +
            Page.GetString(LineNr + 2) + Page.GetString(LineNr + 3);
    Line := Czysc(Line);
    MovieAddress := 'http://www.filmweb.pl' + TextBetween(Line, 'filmPreview__link" href="', '"><h3');
    //MovieAddress := StringReplace(MovieAddress, '>', '');
    MovieTitle := TextBetween(Line, 'class="filmPreview__title">', '</h3>');
    HTMLRemoveTags(MovieTitle);
    MovieTitle := Trim(MovieTitle);
    CorrectTextError(MovieTitle);
    UniToPol(MovieTitle);
    Year := TextBetween(Line, 'filmPreview__year">', '</span>');
    if (Year = '') then begin
      Line := Page.GetString(LineNr + 1);
      Year := TextBetween(Line, 'data-release="', '"');
    end;
    HTMLRemoveTags(Year);
    Year := Trim(Year);
    CorrectTextError(Year);
    MovieTitle := MovieTitle + ' (' + Year + ')';
    if (FindLine(MovieAddress, SearchAddresses, 0) < 0) then
    begin
      PickTreeAdd(MovieTitle, MovieAddress);
      SearchAddresses.Add(MovieAddress);
    end;
    LineNr := FindLine('filmPreview--', Page, LineNr + 1);
  end;
  Page.Free;
end;
Trzeba jeszcze w procedurze

Code: Select all

procedure AnalyzeSearchPage(Address : String; MovieType : String);
zmienić zmienną 'Line' i zdezaktywować dwie linie:

Code: Select all

procedure AnalyzeSearchPage(Address : String; MovieType : String);
var
  Page : TStringList;
  Line, Linetmp, MovieVariety, AdressSubPage : String;
  LineNr, Count, MoviesCount, i, NumOfPages : Integer;
begin
  Page := TStringList.Create;
  Page.Text := UTF8Decode(GetPage(Address));
  Line := TextBetween(Page.Text, 'Znalezione pozycje: <span>', '</span></div>');
  MovieVariety := Page.Text;
 // Linetmp:=TextBetween(Line, 'z', '</div>');
 // Line := Linetmp;
  Line := Czysc(Line);
  MoviesCount := StrToInt(Trim(Line), 0);
  MovieVariety := ' ' + MovieType + ':';
  PickTreeAdd('Znaleziono ' + IntToStr(MoviesCount) + MovieVariety, '');
Mam nadzieję, że niczego nie pominąłem. Sprawdźcie i dajcie znać. U mnie działają i filmy i seriale.
Pamiętajcie o zmianie w procedurze wyszukiwania, pisałem o tym wyżej w tym samym poście.
Last edited by athe on 2018-01-13 22:22:27, edited 11 times in total.
KRiSZK0
Posts: 19
Joined: 2008-04-05 15:45:32

Post by KRiSZK0 »

Pozostaje chwilowo wyszukiwać bezpośrednio na FW i wklejać link danego filmu/serialu do AMC po czym wykonać aktualizację pozycji. Skrypt poprawnie zaciągnie dane ze strony opisu.
athe
Posts: 170
Joined: 2013-06-01 20:26:24
Location: Poland

Post by athe »

W poście z 10.01.2018 jest zmieniony i działający skrypt odpowiadający za wyszukiwanie filmów. Pozdrawiam
robinse
Posts: 23
Joined: 2017-09-11 15:24:05

Post by robinse »

Działa, u mnie nie pobiera jedynie kraju...dziękuje z pomoc :)
robinse
Posts: 23
Joined: 2017-09-11 15:24:05

Post by robinse »

u mnie nie pobiera też gatunku..... może da się coś z tym zrobić.... :(
athe
Posts: 170
Joined: 2013-06-01 20:26:24
Location: Poland

Post by athe »

Żeby działał kraj i gatunek trzeba w procedurze kraj, zmienić wyrażenia

Code: Select all

'?countryIds=' 
na

Code: Select all

'?countries='
Występuje w dwóch liniach

Code: Select all

// Kraj
while Pos('?countries=', Line) > 0 do
        begin
			Szukane := '?countries=';
Podobnie z gatunkiem. Należy zmienić

Code: Select all

genreIds=
na

Code: Select all

?genres=
To wyrażenie jest również w dwóch liniach. Piszcie jak coś nie działa, co dam radę to podpowiem. Pozdrawiam
Last edited by athe on 2018-01-13 22:35:11, edited 2 times in total.
robinse
Posts: 23
Joined: 2017-09-11 15:24:05

Post by robinse »

Działa bardzo dobrze.........dziękuje :grinking:
whisp
Posts: 37
Joined: 2013-02-23 21:48:06

Post by whisp »

U mnie też działa, dzięki wielkie athe!
Post Reply