[ antp.be > Forum ]

[ FAQFAQ - SearchSearch - MemberlistMemberlist - UsergroupsUsergroups - ]

[ RegisterRegister - ProfileProfile - Log in to check your private messagesLog in to check your private messages - Log inLog in ]


[REL] [PL] FilmWeb.pl 3.0 - The Best Polish Script
Goto page Previous  1, 2, 3, 4, 5, 6
 
Post new topic   Reply to topic    www.antp.be Forum Index -> Ant Movie Catalog > Scripts
   

Jak oceniasz skrypt
1
0%
 0%  [ 0 ]
2
0%
 0%  [ 0 ]
3
0%
 0%  [ 0 ]
4
0%
 0%  [ 0 ]
5
38%
 38%  [ 5 ]
Cudo :)
61%
 61%  [ 8 ]
Total Votes : 13

Author Message
domi
PostPosted: 2017-03-09 08:55:49    Post subject: Reply with quote
View user's profile Send private message zdradzisz zmiany względem poprzedniej bety? wink
Ariell
PostPosted: 2017-03-09 09:01:37    Post subject: Reply with quote
View user's profile Send private message Nie animated grin lol hum bad idea cool Są poniżej

Optymalizacja i poprawka błędów
Dodanie opcji duplikator
domi
PostPosted: 2017-03-09 12:15:20    Post subject: Reply with quote
View user's profile Send private message dzięki smile
domi
PostPosted: 2017-03-09 22:25:52    Post subject: Reply with quote
View user's profile Send private message Duplikator ustawiony na 1 nie dopisuje pozycji do pliku Filmy.adb, a co za tym idzie nie oznacza zdublowanych pozycji.
Ariell
PostPosted: 2017-03-10 09:25:42    Post subject: Reply with quote
View user's profile Send private message
domi wrote:
Duplikator ustawiony na 1 nie dopisuje pozycji do pliku Filmy.adb, a co za tym idzie nie oznacza zdublowanych pozycji.


upst pozostałość po testach:
Poprawna linijka
Code:
if (GetOption('Duplikator') > 0) then duplikaty(TextBetween(Page.Text, '"filmId",', ')'));
athe
PostPosted: 2017-03-11 22:22:11    Post subject: Reply with quote
View user's profile Send private message Witajcie, dopisałem parę linijek skryptu (bazując na kodzie Ariell'a dotyczącego opisu), który umożliwia pobranie opisu, najczęściej bardzo krótkiego z karty Forum filmu tylko w przypadku gdy nie ma innych opisów (redakcji, użytkowników). Pobiera post z tytułem określonym w Linetmp, czasami tam są (tak jest w przypadku filmu Ak-eui yeon-dae-gi z 2014 roku). Jak ktoś będzie chciał to proszę uprzejmie, oto on:
Code:
procedure AnalizeFilmDiscussionPage(Address : String);
var
 Line, PageTmp, Linetmp, Value : String;
   Page : TStringList;
begin
   Page := TStringList.Create;
   Page.Text := UTF8Decode(GetPage(Address));
    Line := TextBetween(Page.Text, 'class="topics-list"', 'filmSubpageMenu'); // + 'filmSubpageMenu';
    while  (Pos('<h3 class="s-16">', Line) > 0) do
    begin
     PageTmp := 'http://www.filmweb.pl' + TextBetween(Line, '<h3 class="s-16"><a href="/film', '"');
     Linetmp := TextBetween(PageTmp, '/discussion/', ',');
     if (Linetmp = 'Opis') or (Linetmp = 'Opis...') or (Linetmp = 'OPIS') or (Linetmp = 'Opis filmu') or (Linetmp = 'Info') or (Linetmp = 'info') Then
      begin
       Page.Text := UTF8Decode(GetPage(PageTmp));
       Value := TextBetween(Page.Text, 'firstPost', 'class="plusPanel');
       Value := TextBetween(Value, '<p class="text">', '</p');
   Value := StringReplace(Value, '<br>', '');
       CorrectTextError(Value);
       UniToPol(Value);
   HTMLRemoveTags(Value);  //Value := Trim(Value);
      end;
      Line := Copy(Line, Pos('</p', Line) + Length('</p'), Length(Line));
    end;
  if Value<>'' then
  SetField(fieldDescription, Trim(Value));
 Page.Free;
end;
Trzeba jeszcze wstawić linijkę forum filmu
Code:
// Opis
   if (not ((GetOption('Aktualizacja') = 2) and (GetField(fieldDescription)<>''))) then AnalyzeFilmDescriptionsPage(Address + '/descs');

   //forum filmu
   if GetField(fieldDescription)='' then AnalizeFilmDiscussionPage(Address + '/discussion');

   // Komentarze
Wiem, że to nie jest doskonałe (może Ariell jak będzie miał chwilkę czasu i zechce to zerknie i poprawi, chodzi o Linetmp, czy da się zrobić to inaczej, niż tylko dopisywanie tytułu posta) ale jak na razie ta procedura spełnia moje oczekiwania w przypadku braku opisu redakcji lub użytkowników. Pozdrawiam wszystkich.
P.S. Dodałem zmienną PageTmp, bo czasami wartość Value nie była poprawna.
Ariell
PostPosted: 2017-03-20 19:54:53    Post subject: Reply with quote
View user's profile Send private message
athe wrote:
Witajcie, dopisałem parę linijek skryptu (bazując na kodzie Ariell'a dotyczącego opisu), który umożliwia pobranie opisu, najczęściej bardzo krótkiego z karty Forum filmu tylko w przypadku gdy nie ma innych opisów (redakcji, użytkowników). Pobiera post z tytułem określonym w Linetmp, czasami tam są (tak jest w przypadku filmu Ak-eui yeon-dae-gi z 2014 roku). Jak ktoś będzie chciał to proszę uprzejmie, oto on:
Code:
procedure AnalizeFilmDiscussionPage(Address : String);
var
 Line, PageTmp, Linetmp, Value : String;
   Page : TStringList;
begin
   Page := TStringList.Create;
   Page.Text := UTF8Decode(GetPage(Address));
    Line := TextBetween(Page.Text, 'class="topics-list"', 'filmSubpageMenu'); // + 'filmSubpageMenu';
    while  (Pos('<h3 class="s-16">', Line) > 0) do
    begin
     PageTmp := 'http://www.filmweb.pl' + TextBetween(Line, '<h3 class="s-16"><a href="/film', '"');
     Linetmp := TextBetween(PageTmp, '/discussion/', ',');
     if ((Linetmp = 'Opis') or (Linetmp = 'Opis...') or (Linetmp = 'OPIS') or (Linetmp = 'Opis filmu') or (Linetmp = 'Info') or (Linetmp = 'info')) Then // obejmuj nawiasami cały warunek. A lepiej zastąpić to wyrażeniem regularnym.
      begin
       Page.Text := UTF8Decode(GetPage(PageTmp));
       Value := TextBetween(Page.Text, 'firstPost', 'class="plusPanel');
       Value := TextBetween(Value, '<p class="text">', '</p');
   Value := StringReplace(Value, '<br>', '');
       CorrectTextError(Value);
       UniToPol(Value);
   HTMLRemoveTags(Value);  //Value := Trim(Value);
      end;
      Line := Copy(Line, Pos('</p', Line) + Length('</p'), Length(Line));
    end;
  if Value<>'' then
  SetField(fieldDescription, Trim(Value));
 Page.Free;
end;
Trzeba jeszcze wstawić linijkę forum filmu
Code:
// Opis
   if (not ((GetOption('Aktualizacja') = 2) and (GetField(fieldDescription)<>''))) then AnalyzeFilmDescriptionsPage(Address + '/descs');

   //forum filmu
   if GetField(fieldDescription)='' then AnalizeFilmDiscussionPage(Address + '/discussion');

   // Komentarze
Wiem, że to nie jest doskonałe (może Ariell jak będzie miał chwilkę czasu i zechce to zerknie i poprawi, chodzi o Linetmp, czy da się zrobić to inaczej, niż tylko dopisywanie tytułu posta) ale jak na razie ta procedura spełnia moje oczekiwania w przypadku braku opisu redakcji lub użytkowników. Pozdrawiam wszystkich.
P.S. Dodałem zmienną PageTmp, bo czasami wartość Value nie była poprawna.
athe
PostPosted: 2017-03-22 18:49:30    Post subject: Reply with quote
View user's profile Send private message Ariell, dziękuję za podpowiedź. Próbowałem wcześniej użyć wyrażenia regularnego, ale chyba z tym sobie nie poradzę.
Display posts from previous:   
View previous topic :: View next topic  
Post new topic   Reply to topic    www.antp.be Forum Index -> Ant Movie Catalog > Scripts All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4, 5, 6
Page 6 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
Template made by antp