[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

Hegemon65
Posts: 6
Joined: 2022-08-26 06:44:49

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

Post by Hegemon65 »

:clapping: Dzięki! Poprawki działają! Super!
Przydałaby się jeszcze poprawka pobierająca czas trwania
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

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

Post by antp »

Thanks, I updated the file on the server too
wrobelp
Posts: 45
Joined: 2011-07-10 18:59:53

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

Post by wrobelp »

Nie chwalmy dzni przed zachodem słońca, niestety skrypt przestał pobierać gatunek znowu.

Let's not praise the day before sunset, unfortunately the script stopped downloading the species again.

Edit
Nie pobiera gatunku tylko do seriali, do filmów jest ok.
Znalazłem też mały mankament, po wyszukaniu filmu w filwebie nie wyświetla jego roku produkcji co jest trochę uciążliwe jak się trafi film z takim samym tytułem i różnymi rokami produkcji. Na obrazku to widać dobrze
https://ibb.co/K5Qf3M6

Edit
It doesn't download genre only for series, for movies it's ok.
I also found a small drawback, after searching for a movie on filweb it doesn't display its year of production which is a bit annoying when you come across a movie with the same title and different years of production. You can see it well in the picture
https://ibb.co/K5Qf3M6
Master_Rafael
Posts: 13
Joined: 2016-01-03 14:34:44

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

Post by Master_Rafael »

Znalazłem też mały mankament, po wyszukaniu filmu w filwebie nie wyświetla jego roku produkcji co jest trochę uciążliwe jak się trafi film z takim samym tytułem i różnymi rokami produkcji. Na obrazku to widać dobrze
niestety za wysokie progi jak dla mnie :)
co do wyszukiwania filmu poprzez skrypt to już od dawna działa to kulawo, dlatego ja zazwyczaj film szukam bezpośrednio na filmwebie, kopiuje adres www strony filmu, wklejam do programu, a resztę już wyszukuję w programie za pomocą opcji skryptu "aktualizacja" ustawiona na korzystanie z zachowanego linku. Wiem, że to trochę na około, ale działa.
Poza tym od pewnego czasu nie działa też pobieranie informacji m.in budżetu filmu, linku do imbd, oceny z imdb
kazeciak
Posts: 44
Joined: 2012-10-23 05:17:49

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

Post by kazeciak »

Master_Rafael wrote: 2024-09-24 12:09:05 Uprzedzam, że może to nie działać ze wszystkimi filmami dobrze bo nie testowałem tego na dużą skalę. Dodatkowo mogę stwierdzić, że raczej jestem zielony w kodowaniu :D
Znowu coś namieszali i nie pobiera gatunku filmu .... Możesz zerknąć?
Dzięki
Master_Rafael
Posts: 13
Joined: 2016-01-03 14:34:44

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

Post by Master_Rafael »

przetestowane na szybko na kilku filmach i wygląda ok, ale proszę sprawdzić (jak ktoś może to niech sprawdzi czy działa to w serialach, bo ja nie korzystam z tej funkcji w programie):

Code: Select all

// Gatunek
	Line := TextBetween(Page.Text, '"filmPosterSection__buttons tags-container"', '<div class="LinkButton linkButton"');
	if Length(Line) > 0 then
	begin
		case GetOption('SeparatorGatunku') of
			0: Separator := ' / ';
			1: Separator := ', ';
			2: Separator := '/';
		end;
		Value := '';
		while Pos('linkButton__label', Line) > 0 do
		begin
			Line2 := TextBetween(Line, 'linkButton__label', '/span>');
			Line := RemainingText;
			Line2 := TextBetween(Line2, 'itemprop="genre"> ', ' <');
			Value := Value + Line2 + Separator;
		end;
		Value := Copy(Value, 1, Length(Value) - Length(Separator));
		Value := StringReplace(Value, ', ', Separator);
		UniToPol(Value);
		if Length(Value) > 0 then
			SetField(fieldCategory, Trim(Value));
	end;
Master_Rafael
Posts: 13
Joined: 2016-01-03 14:34:44

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

Post by Master_Rafael »

Do przetestowania na większej ilości filmów/serial bo nie nie wiem czy działa w 100% poprawnie.
(To be tested on more movies/series because I don't know if it works 100% correctly)

Nie wszystkie filmy na filmwebie maja informację o budżecie czy dystrybucji, więc rozwiązane to było w ten sposób że te informacje były pobierane z IMDB (gdy skrypt wykrył, że nie ma ich na filmweb), ale działanie części skryptu odpowiedzialne za IMDB nie funkcjonuje poprawnie

DYSTRYBUCJA

Code: Select all

	
	//Dystrybucja
	if (CanSetCustomField('Dystrybucja') and (Pos('filmMainOtherInfo">dystrybucja', Page.Text) > 0)) then
	begin
		Line := TextBetween(Page.Text, 'filmMainOtherInfo">dystrybucja', '/div></div>');
		Value := TextBetween(Line, 'filmInfo__info">', '<');
		if Pos('nofollow', Value) > 0 then
			Value := TextBetween(Value, 'nofollow">', '<');
		UniToPol(Value);
		if Length(Value) > 0 then
			SetCustomField('Dystrybucja', Value);
	end;
	
BUDŻET

Code: Select all

	//Budżet
	if (CanSetCustomField('Budzet') and (Pos('filmMainOtherInfo">budżet', Page.Text) > 0)) then
	begin
		Line := TextBetween(Page.Text, 'filmMainOtherInfo">budżet', '/span></div></div>');
		Value := TextBetween(Line, 'filmMainOtherInfo">', '<');
		if Length(Value) > 0 then
			SetCustomField('Budzet', Value);
	end;
	
BOXOFFICE

Code: Select all

	//BoxOffice
	if (CanSetCustomField('Boxoffice') and (Pos('<div class="boxoffice"', Page.Text) > 0)) then
	begin
		Line := TextBetween(Page.Text, '<div class="boxoffice"', '<div class="filmInfo__header">');
		Value := TextBetween(Line, 'filmMainOtherInfo">', '</span></div></div>');
		Value := StringReplace(Value, '</span></div><div>', ', ');
		Value := StringReplace(Value, ' <span data-i18n="film:info.gross.label" data-cacheId="filmMainOtherInfo">', ' ');
		UniToPol(Value);
		if Length(Value) > 0 then
			SetCustomField('Boxoffice', Value);
	end;
	
cosanostra
Posts: 14
Joined: 2020-01-23 16:50:03

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

Post by cosanostra »

A zajmie ktoś się może tym że przy wyszukiwaniu filmu na liście wyboru tytułu nie pobiera i nie wyświetla roku produkcji ?
Master_Rafael
Posts: 13
Joined: 2016-01-03 14:34:44

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

Post by Master_Rafael »

Poniżej kod do zastąpienia w skrypcie. Testowane na kilku filmach. Pobiera rok przy wyszukiwaniu filmu (nie testowałem na serialach).
(Below is the code to replace in the script. Tested on several movies. Gets the year when searching for a movie (I haven't tested it on series))

Code: Select all

procedure GetMovieTitles(Address: string);
var
	Page: TStringList;
	Line, Year, MovieTitle, MovieAddress: string;
	LineNr: integer;
begin
	Page := TStringList.Create;
	Page.Text := UTF8ToCP1250(GetPage(Address));
	Page.Text := StringReplace(Page.Text, 'class="preview__link"', #13#10 + 'class="preview__link"');
	Line := Page.Text;
	LineNr := FindLine('class="preview__link"', Page, 0);
	while LineNr > -1 do
	begin
		Line := Page.GetString(LineNr);
		Line := Czysc(Line);
		MovieAddress := 'https://www.filmweb.pl' + TextBetween(Line, 'preview__link" href="', '"');
		MovieTitle := TextBetween(Line, '>', '</');
	//	HTMLRemoveTags(MovieTitle);
		MovieTitle := Trim(MovieTitle);
		CorrectTextError(MovieTitle);
		UniToPol(MovieTitle);
		//Year := TextBetween(Line, 'filmPreview__year">', '</');
		Year := TextBetween(Line, 'preview__year" content="', '</');
		if (Year = '') then
			Year := TextBetween(Line, '"', '"');
	//	HTMLRemoveTags(Year);
		Year := Trim(Year);
		CorrectTextError(Year);
		Year := Copy(Year, 1, 4);
		MovieTitle := MovieTitle + ' (' + Year + ')';
		if (FindLine(MovieAddress, SearchAddresses, 0) < 0) then
		begin
			PickTreeAdd(MovieTitle, MovieAddress);
			SearchAddresses.Add(MovieAddress);
		end;
		LineNr := FindLine('class="preview__link"', Page, LineNr + 1);
	end;
	Page.Free;
end;

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 := UTF8ToCP1250(GetPage(Address));
	Line := TextBetween(Page.Text, 'Znalezione pozycje: <span>', '</span>');
	MovieVariety := Page.Text;
	Line := Czysc(Line);
	MoviesCount := StrToInt(Trim(Line), 0);
	MovieVariety := ' ' + MovieType + ':';
	PickTreeAdd('Znaleziono' + MovieVariety, '');
	case GetOption('LimitWynikow') of
		0: Count := 260;
		1: Count := 1;
		2: Count := 5;
		3: Count := 10;
		4: Count := 50;
	end;
	NumOfPages := (MoviesCount - 1) div 10 + 1;
	if NumOfPages < 1 then
		NumOfPages := 1;
	if NumOfPages > Count then
		NumOfPages := Count;
	for i := 1 to NumOfPages do
	begin
		AdressSubPage := Address + '&page=' + IntToStr(i);
		GetMovieTitles(Address + '&page=' + IntToStr(i));
	end;
//	if (SearchAddresses.Count = 0) then
//		MovieName := SmartFormatMovieName(MovieName);
	Page.Free;
end;
Hegemon65
Posts: 6
Joined: 2022-08-26 06:44:49

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

Post by Hegemon65 »

Powyższe poprawki działają - dzięki :clapping:
Ale wcześniej przestał pobierać się gatunek filmu :cry:
Master_Rafael
Posts: 13
Joined: 2016-01-03 14:34:44

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

Post by Master_Rafael »

poniżej poprawki pobierające gatunek 9przetestowane na kilku filmach zwykłych i tych, które na filmwebie dodatkowo oznaczone są jako np. " Top 1998 roku #34 "
below are the genre-acquiring fixes tested on several regular films and those that are additionally marked on FilmWeb as, for example, "Top of 1998 #34"

Code: Select all

// Gatunek
	Line := TextBetween(Page.Text, '<div class="filmPosterSection__buttons tags-container">', '<button type="button" class="tag more hide">');
	if Length(Line) > 0 then
	begin
		case GetOption('SeparatorGatunku') of
			0: Separator := ' / ';
			1: Separator := ', ';
			2: Separator := '/';
		end;
		Value := '';
		while Pos('linkButton__label', Line) > 0 do
		begin
			Line2 := TextBetween(Line, 'linkButton__label', '/span>');
			Line := RemainingText;
			Line2 := TextBetween(Line2, 'itemprop="genre"> ', '<');
			Value := Value + Line2 + Separator;
		end;
		Value := Copy(Value, 1, Length(Value) - Length(Separator) -1);
		Value := StringReplace(Value,' , ', Separator);
		Value := StringReplace(Value,' ,','');
		UniToPol(Value);
		if Length(Value) > 0 then
			SetField(fieldCategory, Trim(Value));
	end;
wrobelp
Posts: 45
Joined: 2011-07-10 18:59:53

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

Post by wrobelp »

Master_Rafael Wielkie dzięki za poprawki, obydwie działają, testowane na filmach jak i serialach :clapping: :clapping: :clapping:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

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

Post by antp »

Thanks for the fixes... Can you send me the complete script via e-mail? (so I put it on the server)
As there are some polish characters in it, I'm not sure I can correctly make the copy/paste.
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

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

Post by antp »

Version from Master_Rafael uploaded as version 3.2.23
cosanostra
Posts: 14
Joined: 2020-01-23 16:50:03

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

Post by cosanostra »

Dziękuję za najnowsze poprawki :clapping:
Mietek
Posts: 11
Joined: 2020-02-06 11:02:14

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

Post by Mietek »

Dawno nie korzystałem z AMC. przy próbie ściągnięcia filmu dostaje taki komunikat
Błąd skryptu "FILMWEBPL" unit is not find w lini 9

Może ktoś podpowiedzieć co mam zrobić. Mam wersje skryptu 3.2.23 (18.11.2024)
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

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

Post by antp »

Possibly it is missing one of the files listed in the "uses" section:

en2pl, cp1250, StringUtils7552, BatchCommon7552, ScorEpioNCommonScript

these are .pas files that should be in the same folder as the script itself.
They are provided with the program, but maybe you deleted some?
you can find them on https://update.antp.be/amc/scripts/ if needed.
hwg
Posts: 1
Joined: 2025-01-01 11:50:51

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

Post by hwg »

Dzień dobry, Win11, ANT... ver 4.2.3, skrypt 3.2.23, (np. Asterix i Obelix: Misja Kleopatra) po wybraniu w [wybierz opis do:] zawiesza się na czas dłuższy i staje z komunikatem "Ant Movie catalog, Out of memory". Filmy bez konieczności wyboru komentarza rejestrują się prawidłowo.
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

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

Post by antp »

Probably an infinite loop in the script, as something must have changed and then a condition checking is not working.
I'll have to check that some day.
Does it happen with all movies or just some?
Post Reply