Page 27 of 39

Posted: 2014-12-21 20:42:46
by Ariell
Pełen skrypt wersja do testów i sprawdzenia.

Jest to zmodyfikowany plik z AutoUpdate nie korzystałem z modyfikacji athe.

Pobiera:
- Tytuły polski i oryginalny
- Długość filmu
- Rok produkcji
- Aktorów i ich role
- Ocenę filmu
- Ekipę tworzącą (wszystkie pola)

Uwagi i sugestie mile widziane :)

Link:

Posted: 2014-12-21 21:14:02
by whisp
Dzięki Ariell. Do poprawy jest jeszcze pobieranie obsady - przy wyborze opcji 4 (same nazwiska oddzielone przecinkami, bez ról) pobiera tylko pierwszą osobę z obsady.

Posted: 2014-12-21 21:26:02
by Ariell
Niestety wkradł się mały błąd w ekipie ucina 2 ostatnie znaki i nie separuje aktorów.

whisp juto zabaczę co da się zrobić

Posted: 2014-12-21 22:58:09
by Ariell
Finalna wersja na dzień 21-12-2014

Poprawiono względem ostatniej wersji na AutoUpdate

- Tytuły polski i oryginalny
- Długość filmu
- Rok produkcji
- Aktorów i ich role
- Ocenę filmu
- Ekipę tworzącą (wszystkie pola)
- Pobieranie obsady opcje 4 i 5 (REQ: whisp)
- Drobne błędy.

Link:
http://www32.zippyshare.com/v/53431920/file.html

Posted: 2014-12-22 08:28:26
by athe
Dziękuję @Ariell za poprawienie skryptu, po małych przeróbkach dostosowałem go do moich potrzeb, chodzi o pola niestandardowe. Najważniejsze, że działają opcje aktorów(układ).

Posted: 2014-12-22 11:20:57
by luckycrown
U mnie wywala błąd jak na screenie. Korzystam z wersji 3.5.1.1

Image

Posted: 2014-12-22 11:43:45
by Ariell
Jak ci wywala błąd to możesz zaskipować tą linijkę poprzez dodanie na jej początku znaków //

Posted: 2014-12-22 19:29:08
by Yakuza_PL
skrypt super ! - wielkie dzieki !

Posted: 2014-12-23 10:25:09
by athe
@luckycrown, ta wersja programu nie ma pola 'Writer'. Masz trzy rozwiązania: przejść do wersji 4.2.0, albo, jeżeli chcesz zapisywać scenarzystę w polu z aktorami zrobić tak jak polecił Ariell(pominięcie linii), albo to co polecił Ariell i utworzenie pola niestandardowego 'Writer', do którego będzie zapisywał scenarzystę. W skrypcie :

Code: Select all

 // Scenariusz (2014-10-19 modify by wojteos ) źródło = <h2 class="hdr hdr-big" id=screenwriter>scenariusz
	Value := GetMaterials(Page, 'screenwriter');
	if (Length(Value) > 0) then SetField(fieldWriter, Trim(Value));
trzecią linijkę zastąp tą:

Code: Select all

 // Scenariusz (2014-10-19 modify by wojteos ) źródło = <h2 class="hdr hdr-big" id=screenwriter>scenariusz
	Value := GetMaterials(Page, 'screenwriter');
   if (Length(Value) > 0) then SetCustomField('Writer', Trim(Value));

Posted: 2014-12-23 18:01:19
by whisp
Ariell wrote:Finalna wersja na dzień 21-12-2014
Poprawiono (...) pobieranie obsady opcje 4 i 5 (REQ: whisp)
Dziękuję Ariell! Czuję się wyróżniony ;) Skrypt działa, w końcu znowu mogę dodawać pozycje bez żmudnego wklepywania połowy informacji ręcznie.

Jeśli dążysz do perfekcji, to zauważyłem jeszcze jeden mały błąd: nie działa u mnie ograniczenie ilości pobieranych osób z obsady do np. 10 ;) Ale to już w sumie szczegół.

Posted: 2014-12-24 00:11:50
by lucas7911
A u mnie na wersji 4.2 nie działa żaden z tych ostatnich skryptów, na ostatnim dodanym wywala po kolei od linijki 33 a na tym Filmweb_2_0_2b.pl_new od linijki 198, nie wiem co się dzieje

Posted: 2014-12-24 19:27:54
by athe
Życzę wszystkim zdrowych i spokojnych Świąt. Jeszcze raz dziękuję Ariell'owi za skrypt, działa bez problemów.
lucas7911, te skrypty pracują z wersją programu 4.2.0

Posted: 2014-12-25 10:11:07
by lucas7911
Mam 4.2.0.2

Posted: 2014-12-25 10:43:03
by athe
ja również mam tą wersję i skrypty pracują dobrze. Skrypt Ariell'a jest dużo lepszy od tego, który ja poprawiałem, polecam ten właśnie skrypt. Błędy występują u Ciebie przy deklaracji zmiennych. Jaki jest komunikat przy wystąpieniu błędu?

Posted: 2014-12-25 12:29:11
by lucas7911
Ok już jest dobrze przeinstalowałem program i wkleiłem skrypt na nowo, śmiga.Dziękuje bardzo za poświęcony czas by nam użytkownikom lepiej się pracowało.

Posted: 2014-12-27 11:32:56
by athe
Witam, jak ktoś ma wersję programu ponad 4 i chce aby skrypt poprawiony przez Ariell'a pobierał dodatkowo informacje o dystrybutorze i studio, powinien utworzyć w programie pola niestandardowe o Tag'u "Distribution' i drugie o Tag'u 'Studio'. Następnie w skrypcie należy po liniach

Code: Select all

procedure AnalyzeMoviePage(Address : String);
var
	Page, PageTEMP, Authors : TStringList;
	Line, Value, Hours, Mins : String;
	Rates, TraTitle, OrgTitle : String;
	LineNr, MinsInt : Integer;
	StartPos, EndPos : Integer;
	Szukane, SzukaneEnd : String;
	Separator : String;
begin
	Page := TStringList.Create;
	Authors := TStringList.Create;
	Page.Text := UTF8Decode(GetPage(Address));
  if ServiceMode<>'' then SaveServiceMode(Page, 'StronaFilmu');
wkleić kod:

Code: Select all

  //Dystrybucja
  Value := TextBetween(Page.Text, 'dystrybucja:', 'studio:');
  Value := StringReplace(Value, '</dd>', ',');
  Value := StringReplace(Value, ',', ', ');
  HTMLRemoveTags(Value);
  HTMLDecode(Value);
  if Copy(Value, Length(Value) - 1, 2) = ', ' then
  Value := Copy(Value, 0, Length(Value) - 2);
  SetCustomField('Distribution', Trim(Value));
    
  //Studio
  Value := TextBetween(Page.Text, 'studio:', 'inne tytuły:');
  Value := StringReplace(Value, '</li><li>', ',');
  Value := StringReplace(Value, ',', ', ');
  HTMLRemoveTags(Value);
  HTMLDecode(Value);
  Value := StringReplace(Value, '(więcej...)', '');
  if Copy(Value, Length(Value) - 1, 2) = ', ' then
  Value := Copy(Value, 0, Length(Value) - 2);
  SetCustomField('Studio', Trim(Value));
a przed liniami:

Code: Select all

	// Tytuł polski i oryginalny
	TraTitle := TextBetween(Page.Text, 'property="v:itemreviewed">', '</a>');
  OrgTitle := TextBetween(Page.Text, '<h2 class="cap s-16 top-5">', '</h2>');

	HTMLRemoveTags(TraTitle);
  UniToPol(TraTitle);
 	if (Length(Trim(TraTitle)) > 0) then
    SetField(fieldTranslatedTitle, Trim(TraTitle));
tak będzie wyglądała ciągłość skryptu, pozdrawiam

Posted: 2014-12-27 16:05:38
by luckycrown
Musiałem przejść na nowszą wersję 4.2.0.2 pod starszą wersją te nowe skrypty wywalają kolejne błędy.

Jest Ok i dziękuje za pomoc

Posted: 2014-12-30 14:47:22
by Galnospoke
Czy wiadomo cos o plakatach i opisie oraz pobieraniu dat+tytulow po tym burdlu, ktory zrobil FW?

Posted: 2014-12-30 19:58:02
by Ariell
Na chwilę obecną po mojej aktualizacji wszystko działa w miarę normalnie :grinking:

Posted: 2014-12-30 20:22:22
by Galnospoke
Ariell wrote:Na chwilę obecną po mojej aktualizacji wszystko działa w miarę normalnie :grinking:
Sciaga Ci np. plakaty czy date produkcji???