Napisałem skrypt dzięki któremu można eksportować swoje oceny filmów, seriali i gier do plików xls. Można je potem otworzyć w Excelu (Microsoft Office) lub Calcu (OpenOffice lub LibreOffice). Drobna uwaga techniczna, te pliki nie są prawdziwymi xls (tylko html'ową tabelką z odpowiednimi nagłówkami office'a) więc po otwarciu tych plików wypadałoby zapisać je jako normalne xls/ods/csv jak kto woli.
Aktualna wersja skryptu nie potrafi pobierać komentarzy do ocen, filmweb przy wyświetlaniu ocen pobiera osobno komentarze i do tego w innym formacie niż reszta danych). W przeciągu kilku dni wydam aktualizację która także będzie pobierać komentarze. A za jakiś czas rozbuduję skrypt żeby pobierał też filmy/seriale/gry z list "chcę i nie chcę zobaczyć/zagrać", może nawet je będzie mógł łączyć w jeden arkusz (np jako dodatkowa kolumna oznaczająca czy chcesz/nie chce zobaczyć). Jako dodatkową pierdołę mogę tez dodać eksport ocen znajomych.
No ale wróćmy do teraźniejszości, link do pobrania: https://openuserjs.org/scripts/kapela86/Filmweb.pl_eksport_ocen
Aby to zainstalować trzeba mieć w Firefoxie zainstalowane rozszerzenie Greasemonkey, lub w Chrome zainstalowane rozszerzenie Tampermonkey. Testowałem tylko na tych dwóch przeglądarkach, ale powinno działać na wszelkich pochodnych (np. PaleMoon, Opera).
Aby wyeksportować oceny, należy wejść na stronę swojego profilu (w prawym górnym rogu klikamy na swoją nazwę użytkownika) i nad "najwyżej oceniane" pojawi się nowa kategoria "eksport ocen" (w praktyce mógłbym to w dowolnym miejscu umiejscowić ale uznałem że tutaj będzie najlepiej). Potem należy kliknąć w któryś przycisk w zależności co chcemy pobrać, wtedy przycisk "Zapisz do XLS" zmieni się na "pobieranie, proszę czekać" a po pobraniu z powrotem na "Zapisz do XLS". Wtedy klikamy w to zapisz i tyle. Pobieranie zazwyczaj trwa moment, ale może trwać nawet i kilka sekund w zależności ile kto ma filmów i jak bardzo serwery są obciążone. Na aktualną chwilę kliknięcie w inne pobieranie kasuje wynik poprzedniego pobierania, więc nie zapiszemy w jednym arkuszu ocen z filmów, seriali i gier. Mam zamiar to zmienić też ale to na pewno nie w najbliższym czasie.
I to by było na tyle, prosiłbym tylko o wasze propozycje zmiany wyglądu lub umiejscowienia tych przycisków, nie mam "gustu" do takich rzeczy :D. No i jeżeli macie jakieś propozycje funkcjonalności to też śmiało piszcie.
Udało mi się pobrać Twoim skryptem po drobnych modyfikacjach idki filmów (wystarczająco żeby zaimportować sobie do upflixa).
Poniżej zmodyfikowane przeze mnie funkcje, może się przyda:
https://jsfiddle.net/pbw064kq/
"PrzetworzChce" jest tak naprawdę bez zmian, błąd leci gdzieś dalej na pobieraniu dodatkowych danych.
W "PrzetworzOceny" wystarczy zmienić selektor do SpanUserVotes, choć zawiera chyba ten span teraz mniej danych patrząc po Twoim kodzie. Teraz są tam same idki filmów.
Dla ocen trzeba dla każdego filmu pobrać dodatkowe dane z:
https://api.filmweb.pl/v1/user/NAZWA_UZYTKOWNIKA/vote/film/ID_FILMU
Np. https://api.filmweb.pl/v1/user/Kapela86/vote/film/816980
Dla "chcę" i "nie chcę" można pobrać bezpośrednio ze strony dane.
Dzięki, ale to akurat sam zauważyłem jak przeglądałem żądania przeglądarki. Nie wiedziałem tylko skąd wziąć id tych filmów oraz całą resztę informacji jak tytuł, rok, itd, ale zauważyłem teraz że jest taki dziwny <span class="dataSource hide" data-source="roleVotes"> i tam są ID filmów a pod tym są informacje o filmie.
Dużo zmian w kodzie skryptu muszę zrobić, w tygodniu mi się nie chce po pracy nad tym siedzieć, ale w ten weekend myślę że skończę.
WAŻNA INFORMACJA!
W kwietniu tego roku Filmweb dokonał sporo zmian w sposobie w jaki pobierane są oceny użytkowników, przez co mój skrypt przestał działać. Próbowałem poprawić go, jednak moje umiejętności JavaScript nigdy nie były na wysokim poziomie, a także i nie pracuję w ogóle na JavaScript i to jest jeden z dwóch projektów które stworzyłem w nim głównie w celu nauczenia się go. Przez lata obiecywałem dodanie nowych funkcjonalności jak pobieranie obejrzanych odcinków czy ocen aktorów, jednak powiem wprost że mi się po prostu nie chciało i nie mogłem się zmotywować do jakichkolwiek prac rozwojowych. Poprawiałem tylko błędy jak jakieś występowały. A z racji tego że nie siedzę w ogóle w JavaScript na bieżąco, to większość rzeczy jakie robiłem to było wyszukiwanie podobnych rozwiązań przez Google i przerabianie ich, zajmowało mi to zbyt dużo czasu, nie potrafię tak sprawnie analizować kodu i pisać go "z głowy". Aktualne zmiany w Filmwebie spowodowały że po prostu nie wiem jak je rozwiązać sensownie, w sensie jak pobierać oceny żeby nie dostać jakiegoś bana lub tempbana (bo odpalenie równocześnie setek/tysięcy zapytań do ich serwera API jest bardzo niemądrym rozwiązaniem). Tak więc podjąłem trudną decyzję i stwierdziłem że zaprzestaję rozwoju tego skryptu. Jeżeli ktoś chciałby kontynuować pracę nad nim to wrzuciłem aktualną rozwojową wersję na https://openuserjs.org/scripts/kapela86/Filmweb.pl_eksport_ocen_(wersja_testowa)
Z początku preferowałbym tak że zmiany w kodzie będę nadal publikował ja, a po jakimś czasie jak będę miał już zaufanie do nowej osoby to przekażę jej dostęp żeby sama mogła rozwijać skrypt.
ajajaj no szkoda, regularnie korzystałem od lat, mam nadzieje, że ktoś obeznany się zainteresuje. Tak czy siak dzięki za taki długi support.
Bardzo smutny news. Dzięki ogromne za dotychczasową robotę. Mam mimo wszystko nadzieję, że zmienisz zdanie. Albo że ktoś zdecyduje się kontynuować Twój nieoceniony trud. :)
Wszystko co potrzebne do pobrania ocen masz w tym wywołaniu API:
https://www.filmweb.pl/api/v1/logged/vote/film/ID_FILMU/details
Trzeba pobrać wszystkie ID ocenionych filmów (to już pewnie masz zrobione lub wymaga drobnej modyfikacji kodu) i dla każdego wywołać to API.
Z tego co piszesz wynika że problemem jest obawa przed zbyt dużą ilością requestów. Rozumiem to.
Przeglądając swoje oceny w profilu przeglądarka i tak wykonuje sama te requesty i to dość dużo. Więc myślę że nie powinno to być dużym problemem.
Mimo to, można wprowadzić jakąś przerwę czasową setInterval(). Pobierać np. 100 ocen i dać sekundę przerwy. Czas przerwy można zwiększyć gdyby okazało się że skrypt powoduje jakieś bany.
Szkoda by było porzucić tylko z tego względu cały projekt.
Słabo. Bardzo pomocny był twój skrypt bo dzięki niemu byłem spokojny że moje oceny są bezpieczne, nawet jeśli któraś z nich zniknie w nieznanych okolicznościach. Szkoda że zespół IT filmwebu traci czas na wydumane ulepszenia typu przegląd wszystkich nieinteresujących mnie rzeczy na każdej stronie filmu, które opóźniają wyświetlanie oceny zamiast dodać opcję eksportu ocen
Ano w takim np. żeby można było sobie zaimportować gdzie indziej. Albo zwyczajnie mieć kopię zapasową, bo czasem oceny z fw znikają w tajemniczych okolicznościach przyrody.
Ja moge stworzyc aplikacje na Windows w jezyku C# gdzie kazdy zainteresowany pobraniem ocen bedzie musial sie zalogowac na obydwa portale. Moja aplikacja moze pobrac wszystkie oceny po czym przerzucic ja na fdb. Wiem co mowie bo sam taki aplikacje sobie juz robilem i dzialaly bardzo dobrze. Mysle ze serwer nie bedzie banowal swoich userow ktorzy zaczna odpytywac serwer z wlasnego IP.
Na fdb jest (lub był) importer tych plików które mój skrypt generował. Od razu ci powiem że część osób używała mojego skryptu żeby mieć po prostu lokalną kopię u siebie, a część żeby się przenieść na fdb, więc jeżeli już coś chcesz robić to najlepiej żeby miało obie funkcjonalności.
Widzę, że autor rzeczywiście porzucił rozwój projektu. Spróbuje więc przeanalizować i poprawić kod skryptu tak aby działał.
Jak coś to mogę twój kod wrzucić do mojego skryptu, ale raczej preferowałbym żebyś opublikował go osobno u siebie i ja dam jakieś info żeby ludzie zainstalowali twój po prostu i ty dalej już będziesz go sobie aktualizował/rozwijał jak chcesz. Mi to obojętne, ja motywację do rozwoju skryptu kompletnie straciłem.
polecam powrót do podstaw, czyli zrobić swoją własną prostą tabelkę z 2 kolumnami "data obejrzenia" i "nazwa filmu" i zacząć to robić od dzisiaj, od dzisiejszego filmu, długo to nie zajmuje, a filmów szybko się nazbiera
nie chcę tu robić reklamy "programów do tabelek", jak się dobrze program wybierze, taką tabelkę można potem dowolnie rozbudowywać, jak ktoś ma taką potrzebę
polecam też zrobienie 3 kolumny z rokiem wydania filmu, bo niektóre tytuły się powtarzają i zapisywanie tytułów filmów w języku angielskim
i to wystarczy, im mniej tym lepiej
i co najważniejsze to własna lista - nikt Ci konta nie zamknie, nie wsadzi na siłę reklam i tym podobnych
portale typu filmweb, imdb i tak dalej - stosować do dyskusji
stosowałem te skrypty eksportujące tutaj, ale filmweb je w końcu zablokował i potrzebny jest zamiennik niezależny od nikogo
Ja stosuję "excela" do gier od kilkunastu lat, ewoluowało to jak pokemony, ale mam tam wszystko co potrzebuję, w sensie na której platformie mam kupioną grę, kiedy przeszedłem, ocenę, czy chcę w daną grę zagrać czy nie. Ma 5892 pozycje i cały czas rośnie. Kiedyś chciałem tu wszystkie oceny gier dodać które tam miałem ale po dodaniu może 1/4 mi się odechciało. A odnośnie ocen filmów to parafrazując "szewc w dziurawych butach chodzi" to powiem tylko że ostatni raz jak eksportowałem swoje oceny dla siebie żeby zarchiwizować jak jeszcze mój skrypt działał to był kwiecień 2019 roku
ja z Twojego skryptu korzystałem i dziękuję Ci za to :-)
na lubimy czytać kilka lat temu zrobili zmianę interfejsu przeładowaną reklamami, bzdurnymi statystykami typu czas czytania książki w godzinach i minutach, wykresami ilości przeczytanych książek na miesiąc, rok i innymi pierdołami, że oczy się wielkie robią od nadmiaru niepotrzebnych informacji; wszyscy na to narzekali było o tym pisanie z ludźmi na forum - w każdej chwili jakieś dziwactwa mogą też porobić na filmweb, imdb i innych takich portalach, dlatego grunt to nie być od nich zależnym
dobrze wybrać jakiś popularny rodzaj pliku do tych tabelek typu.xls, .docx który można w wielu programach otworzyć, w tym darmowych i na różnych systemach
Gotowe. Naprawiłem skrypt. Pobiera trochę dłużej, bo dodałem opóźnienia aby nie obciążać zbytnio serwerów Filmwebu, ale najważniejsze że działa. Przesłać?
Wrzuć na openuserjs albo greasyfork, będziesz mógł aktualizować tam i automatycznie się będzie aktualizować u innych, a ja podlinkuję do niego żeby ludzie zainstalowali go zamiast mojego jeżeli ktoś jeszcze go ma zainstalowanego
Czy pański skrypt należy wcześniej jakoś odinstalować? A jeśli tak to jak?
Właśnie przyszło mi do głowy by spróbować pobrać coś przy jego użyciu no i jak się Pan zapewne domyśla nie udało się.
Jednak po odświeżeniu strony nie wyświetlają się już te tradycyjne tabelki z pobierz lecz komunikat: Eksport Ocen ważna informacja (wyświetl), gdzie po kliknięciu przekierowuje do forumowego wyjaśnienia, że skrypt przestał działać.
Odinstaluj mój, a jak tomfilmowiec wrzuci swój to zainstaluj jego. Nie miałem okazji jeszcze jego sprawdzić, ale jak będzie dobrze działał to tam mu swoje "błogosławieństwo" i umieszczę info na stronie skryptu oraz w samym skrypcie :)
Zdaje się, że przeoczył Pan to, że pytałem jak go odinstalować. Nie jestem specjalnie dobrze obeznany w tym.
Z tego co mi się wydaje mam wejść ikonkę tampermonkey, potem wybrać panel sterowania, następnie w zakładce zainstalowane skrypty odnaleźć Filmweb.pl eksport ocen i z zakładki Akcje (tam gdzie jest zgłoś błąd, edytuj) wybrać opcję Usuń? Bo nie wiem czy to to samo co odinstaluj. Za dzieciaka pousuwałem kilka programów które należało odinstalować i od tamtej pory zwracam na to uwagę.
Racja, przepraszam :)
Tak, w tym panelu Tampermonkey trzeba kliknąć ikonkę kosza obok tego skryptu który chce się usunąć. Usuń/odinstaluj to zamienne terminy, ale nie zawsze bo w przypadku programów instalowanych na Windowsie to usunięcie go nie jest równoznaczne z odinstalowaniem :) Usuwa się zazwyczaj katalog programu, a odinstalowanie usuwa tez wpisy w rejestrze i dodatkowe biblioteki/usługi/sterowniki :)
Niestety wygląda na to, że na obecną chwilę skrypt działa efektywnie jeśli ktoś ma mało pozycji do pobrania. Udało mi się bez problemów ściągnąć listę seriali i gier lecz z filmami się nie udało. Próbowałem pięciokrotnie i za każdym razem w którymś momencie strona ulega automatycznie odświeżeniu a pobieranie zostaje przerwane. Co ciekawe następuje ono na różnym etapie pobierania. Za pierwszym razem doszło mi do 700 ocen, później 1500, kolejny raz nawet 2000 więc byłem dobrej myśli. Jednakże kolejne razy kończyły się ok 1600 więc to też nie jest tak, że za każdym kolejnym razem pobiera więcej. Jako że warunkiem pobrania pliku xls jest zebranie wszystkich ocen to z filmami się nie udało nawet częściowo. Być może rozwiązaniem byłaby możliwość kontynuowania pobierania a nie rozpoczynania go od początku.
Gdyby udało się Panu to poprawić bądź dać mi jakąś wskazówkę jak poradzić sobie z tym problem to będę zobowiązany.
Miałem tak samo z poprzednim skryptem, że przy dużej ilości ocen strona w końcu się odświeżała i przerywało zbieranie. Ale i to dało się ominąć, wystarczy co jakiś czas przesunąć stronę w górę i w dół. Nie znam się na tym, ale widać wtedy algorytm czytał to jako aktywność na stronie i nie odświeżał jej.
Pomogło. Bardzo Panu dziękuję. Przydałoby się podpiąć tą informację bo bez tego nie idzie ściągnąć więcej jak 1500 pozycji a wystarczy delikatne poruszanie stroną.
Filmweb przeładowuje stronę po pewnym czasie nieaktywności użytkownika. Zobaczę czy da się z tym coś zrobić.
Dzięki wskazówce użytkownika Suttree nie ma potrzeby niczego zmieniać. Po prostu przydałaby się gdzie podpięta informacja, że w przypadku pobierania większej ilości ocen należy ruszać stroną choćby delikatnie góra dół.
Tak czy inaczej dziękuję za stworzenie tego skryptu bo już długo nie aktualizowałem kopii.
Ale przecież to samo masz np. pod artykułami, gdy zbyt długo czytasz komentarze nie wchodząc w żadną interakcję ze stroną lub gdy w treść artykułu wklejone jest okno z materiałem video, który zaczniesz oglądać - po jakichś 2-3 minutach odtwarzania (nawet na pełnym ekranie) z dÓpy następuje reload strony.
Zresztą reload strony w przypadku idle'a jest praktycznie na całym filmwebie, prócz forum (z tego, co zaobserwowałem).