您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Skrypt pozwala na eksport ocen oraz chcę/nie chcę zobaczyć/zagrać do plików xls. Działa na własnym profilu oraz znajomych.
当前为
// ==UserScript== // @name Filmweb.pl eksport ocen (wersja poprawiona) // @namespace kapela86 // @description Skrypt pozwala na eksport ocen oraz chcę/nie chcę zobaczyć/zagrać do plików xls. Działa na własnym profilu oraz znajomych. // @match *://filmweb.pl/user/* // @match *://www.filmweb.pl/user/* // @version 1.8.2 // @grant none // @license GPL-3.0-or-later // @run-at document-idle // ==/UserScript== "use strict"; /* Changelog: 1.0 2015-04-14 pierwsze wydanie 1.1 2015-04-14 tytuły oryginalne są teraz klikalne i kierują do danego tytułu na stronie filmwebu 1.2 2015-04-21 dodano pobieranie komentarzy do ocen 1.3 2015-04-26 dodano pobieranie chcę/nie chcę zobaczyć/zagrać 1.4 2015-05-03 dodano pobieranie list znajomych 1.4.1 2015-05-04 różne drobne poprawki i optymalizacje kodu 1.4.2 2015-05-28 drobna poprawka dla osób mających spację w nicku 1.4.3 2016-11-27 poprawka dla osób które zainstalowały skrypt po 2016-10-04 i nie działał im przycisk zapisu do XLS 1.4.4 2017-07-09 naprawienie pobierania list "Chcę zobaczyć" (filmweb dodał kolumnę z datą dodania i to psuło wykonywanie skryptu) 1.5 2018-04-18 poprawienie skryptu aby mógł działać z nową wersją wyglądu profili i list ocen (na razie tylko pobieranie ocen zrobione) 1.6 2018-05-06 dodanie pobierania ocen programów i list "chcę zobaczyć/zagrać" 1.7 2018-05-27 dodanie pobierania list "nie interesuje mnie" 1.7.1 2018-05-29 poprawka dla nowego wyglądu strony profili 1.7.2 2018-07-22 poprawka drobnego błędu przy pobieraniu ocen 1.7.3 2019-04-14 poprawiłem błąd związany z nieładowaniem się skryptu i nieprawidłowym generowaniem odnośników do strony filmweb dla tytułów 1.7.4 2020-05-06 poprawilem błąd z brakiem polskich tytułów i roku produkcji (filmweb wprowadził drobne zmiany w kodzie strony); dodatkowo teraz kolumna z oryginalnym tytułem nie będzie pusta w sytuacji gdy jest on taki sam jak polski 1.7.5 2020-05-17 poprawilem błąd z niewyświetlaniem się panelu pobierania ocen (filmweb znowu wprowadził drobne zmiany w kodzie strony) 1.7.6 2021-09-19 tymczasowe obejście zmiań wprowadzonych w kodzie strony 1.7.7 poprawki na zmiany w kodzie strony filmwebu i sposobie pobierania ocen 1.8 2022-11-15 poprawki dodane przez @tomfilmowiec, poprawione pobieranie danych (filmweb wprowdził drobne zmiany w kodzie strony), poprawione pobieranie ocen (teraz pobiera z osobnych requestów), dodane opóźnienia czasowe, poprawki kosmetyczne 1.8.1 2022-12-01 status pobierania widoczny w tytule strony 1.8.2 2023-11-18 poprawka dla nowego wyglądu profili To do: - kompatybilność z greasemonkey 4 - https://www.w3schools.com/howto/howto_js_progressbar.asp - dogadać się z Grzegorz_Derebecki z FDB odnośnie nowych kolumn/formatu - naprawić "w przypadku gdy polski tytuł jest taki sam jak oryginalny wtedy w kolumnie tytuł oryginalny zostawia puste pole." - ogarnąć kwestię gdy ktoś nie ma ocen w danej kategorii lub nie mamy uprawnień do przeglądania ocen - eksport ocen przy eksporcie listy chcę/nie chcę zobaczyć/zagrać - eksport ocen aktorów - eksport obejrzanych odcinków seriali wraz z ocenami - przetestować ExcellentExport.js v3.x (eksport do xlsx, wiele arkuszy w pliku) - sprawdzić czy da się też eksportować komentarze innych osób do naszej oceny */ /* ExcellentExport.js v1.5 https://github.com/jmaister/excellentexport https://raw.githubusercontent.com/jmaister/excellentexport/v1.5/excellentexport.min.js */ var n=String.fromCharCode,p;a:{try{document.createElement("$")}catch(q){p=q;break a}p=void 0} window.btoa||(window.btoa=function(b){for(var g,c,f,h,e,a,d=0,r=b.length,s=Math.max,l="";d<r;){g=b.charCodeAt(d++)||0;c=b.charCodeAt(d++)||0;a=b.charCodeAt(d++)||0;if(255<s(g,c,a))throw p;f=g>>2&63;g=(g&3)<<4|c>>4&15;h=(c&15)<<2|a>>6&3;e=a&63;c?a||(e=64):h=e=64;l+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)}return l}); window.atob||(window.atob=function(b){b=b.replace(/=+$/,"");var g,c,f,h,e=0,a=b.length,d=[];if(1===a%4)throw p;for(;e<a;)g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(e++)),c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(e++)),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(e++)),h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(e++)),g=(g&63)<< 2|c>>4&3,c=(c&15)<<4|f>>2&15,f=(f&3)<<6|h&63,d.push(n(g)),c&&d.push(n(c)),f&&d.push(n(f));return d.join("")}); var ExcellentExport=function(){function b(e,a){return e.replace(RegExp("{(\\w+)}","g"),function(d,e){return a[e]})}var g={excel:"data:application/vnd.ms-excel;base64,",csv:"data:application/csv;base64,"},c={excel:'<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body><table>{table}</table></body></html>'},f= ",",h="\r\n";return{excel:function(e,a,d){a=a.nodeType?a:document.getElementById(a);var f=g.excel;a=b(c.excel,{a:d||"Worksheet",table:a.innerHTML});a=window.btoa(window.unescape(encodeURIComponent(a)));e.href=f+a;return!0},csv:function(e,a,d,b){void 0!==d&&d&&(f=d);void 0!==b&&b&&(h=b);a=a.nodeType?a:document.getElementById(a);var c="",l,k;for(d=0;d<a.rows.length;d++){l=a.rows[d];for(b=0;b<l.cells.length;b++){k=l.cells[b];var c=c+(b?f:""),m=k.textContent.trim();k=m;var t=-1!==m.indexOf(f)||-1!==m.indexOf("\r")|| -1!==m.indexOf("\n");(m=-1!==m.indexOf('"'))&&(k=k.replace(/"/g,'""'));if(t||m)k='"'+k+'"';c+=k}c+=h}a=g.csv+window.btoa(window.unescape(encodeURIComponent(c)));e.href=a;return!0}}}(); setTimeout(function() { var TytulStrony = document.title; var OpoznieniePobraniaStrony = 750; var NazwaProfilu = TytulStrony.substring(0, TytulStrony.indexOf(" ")); var KtoToJest; if (document.querySelector(".ico--photoThinMedium") !== null) { KtoToJest = "ja"; } else if (document.querySelector(".ico--friendThin") !== null) { KtoToJest = "znajomy"; } else { return; } if (window.location.pathname.toLowerCase() == "/user/"+NazwaProfilu.toLowerCase()) { var Menu = document.querySelector("section").nextSibling; var KtoreElementy, NumerDiva, NumerPrzycisku, Tabela, RowSelector, CellSelector, KtoraStrona, CzyStrona, LiczbaOcen, LiczbaPobranychOcen, TempArray, TempNode; var TablicaDivow = [ {selektor: "EksportOcen_DivOceny", id: "eksportocen", tytul: "pobierz oceny:"}, {selektor: "EksportOcen_DivChcęZobaczyć", id: "eksportchcezobaczyc", tytul: "pobierz \"chcę zobaczyć/zagrać\":"}, {selektor: "EksportOcen_DivNieInteresujeMnie", id: "eksportnieinteresujemnie", tytul: "pobierz \"nie interesuje mnie\":"} ]; var TablicaPrzyciskow = [ [ {selektor: "EksportOcen_PrzyciskPobierzOcenyFilmow", tytul: "filmy", tytul_fw: "film", id: "0,0", ktoreelementy: "id,tytulpl,tytulorg,rokprod,ulubione,ocena,komentarz,gatunek,data", parametr: "film?page=", plik: " - oceny - filmy.xls"}, {selektor: "EksportOcen_PrzyciskPobierzOcenySeriali", tytul: "seriale", tytul_fw: "serial", id: "0,1", ktoreelementy: "id,tytulpl,tytulorg,rokprod,ulubione,ocena,komentarz,gatunek,data", parametr: "serial?page=", plik: " - oceny - seriale.xls"}, {selektor: "EksportOcen_PrzyciskPobierzOcenyProgramow", tytul: "programy", tytul_fw: "tvshow", id: "0,2", ktoreelementy: "id,tytulpl,tytulorg,rokprod,ulubione,ocena,komentarz,gatunek,data", parametr: "tvshow?page=", plik: " - oceny - programy.xls"}, {selektor: "EksportOcen_PrzyciskPobierzOcenyGier", tytul: "gry", tytul_fw: "videogame", id: "0,3", ktoreelementy: "id,tytulpl,tytulorg,rokprod,ulubione,ocena,komentarz,gatunek,data", parametr: "videogame?page=", plik: " - oceny - gry.xls"}, {selektor: "EksportOcen_PrzyciskZapiszOcenyDoXLS", tytul: "zapisz do XLS", id: "zapisocen"} ], [ {selektor: "EksportOcen_PrzyciskPobierzChceZobaczycFilmy", tytul: "filmy", tytul_fw: "film", id: "1,0", ktoreelementy: "id,tytulpl,tytulorg,rokprod,jakbardzo,gatunek", parametr: "film?page=", plik: " - chcę zobaczyć - filmy.xls"}, {selektor: "EksportOcen_PrzyciskPobierzChceZobaczycSeriale", tytul: "seriale", tytul_fw: "serial", id: "1,1", ktoreelementy: "id,tytulpl,tytulorg,rokprod,jakbardzo,gatunek", parametr: "serial?page=", plik: " - chcę zobaczyć - seriale.xls"}, {selektor: "EksportOcen_PrzyciskPobierzChceZobaczycProgramy", tytul: "programy", tytul_fw: "tvshow", id: "1,2", ktoreelementy: "id,tytulpl,tytulorg,rokprod,jakbardzo,gatunek", parametr: "tvshow?page=", plik: " - chcę zobaczyć - programy.xls"}, {selektor: "EksportOcen_PrzyciskPobierzChceZagrac", tytul: "gry", tytul_fw: "videogame", id: "1,3", ktoreelementy: "id,tytulpl,tytulorg,rokprod,jakbardzo,gatunek", parametr: "videogame?page=", plik: " - chcę zagrać.xls"}, {selektor: "EksportOcen_PrzyciskZapiszChceZobaczycDoXLS", tytul: "zapisz do XLS", id: "zapischce"} ], [ {selektor: "EksportOcen_PrzyciskPobierzNieInteresujeMnieFilmy", tytul: "filmy", tytul_fw: "film", id: "2,0", ktoreelementy: "id,tytulpl,tytulorg,rokprod,gatunek", parametr: "film?page=", plik: " - nie interesuje mnie - filmy.xls"}, {selektor: "EksportOcen_PrzyciskPobierzNieInteresujeMnieSeriale", tytul: "seriale", tytul_fw: "serial", id: "2,1", ktoreelementy: "id,tytulpl,tytulorg,rokprod,gatunek", parametr: "serial?page=", plik: " - nie interesuje mnie - seriale.xls"}, {selektor: "EksportOcen_PrzyciskPobierzNieInteresujeMnieProgramy", tytul: "programy", tytul_fw: "tvshow", id: "2,2", ktoreelementy: "id,tytulpl,tytulorg,rokprod,gatunek", parametr: "tvshow?page=", plik: " - nie interesuje mnie - programy.xls"}, {selektor: "EksportOcen_PrzyciskPobierzNieInteresujeMnieGry", tytul: "gry", tytul_fw: "videogame", id: "2,3", ktoreelementy: "id,tytulpl,tytulorg,rokprod,gatunek", parametr: "videogame?page=", plik: " - nie interesuje mnie - gry.xls"}, {selektor: "EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS", tytul: "zapisz do XLS", id: "zapisnieinteresujemnie"} ] ]; var ListaKolumn = { id: "ID", tytulpl: "Tytuł polski", tytulorg: "Tytuł oryginalny", rokprod: "Rok produkcji", jakbardzo: "Jak bardzo chcę", ulubione: "Ulubione", ocena: "Ocena", komentarz: "Komentarz", gatunek: "Gatunek", data: "Data", } var GlownyDiv = document.createElement("div"); GlownyDiv.id = "glownydiv" GlownyDiv.style.display = "table"; GlownyDiv.style.borderCollapse = "collapse"; GlownyDiv.style.maxWidth = "66rem"; GlownyDiv.style.width = "100%"; GlownyDiv.style.margin = "0 auto"; if (document.querySelector("#glownydiv") !== null) { document.querySelector("#glownydiv").remove(); } Menu.parentNode.insertBefore(GlownyDiv, Menu.nextSibling); var GlownyDivBody = document.createElement("div"); GlownyDivBody.id = "glownydivbody" GlownyDivBody.style.display = "table-row-group"; GlownyDiv.appendChild(GlownyDivBody); for (var i = 0; i < TablicaDivow.length; i++) { window[TablicaDivow[i].selektor] = document.createElement("div"); window[TablicaDivow[i].selektor].id = TablicaDivow[i].id; window[TablicaDivow[i].selektor].style.display = "table-row"; GlownyDiv.appendChild(window[TablicaDivow[i].selektor]); TempNode = document.createElement("div"); TempNode.style.border = "1px solid"; TempNode.style.display = "table-cell"; TempNode.style.padding = "6px 8px"; if (TablicaDivow[i].id == "eksportnieinteresujemnie") { TempNode.style.color = "grey"; } TempNode.textContent = TablicaDivow[i].tytul; window[TablicaDivow[i].selektor].appendChild(TempNode); for (var j = 0; j < TablicaPrzyciskow[i].length; j++) { TempNode = document.createElement("div"); TempNode.style.border = "1px solid"; TempNode.style.display = "table-cell"; TempNode.style.padding = "6px 8px"; window[TablicaDivow[i].selektor].appendChild(TempNode); window[TablicaPrzyciskow[i][j].selektor] = document.createElement("a"); window[TablicaPrzyciskow[i][j].selektor].style.cursor = "pointer"; TempNode.appendChild(window[TablicaPrzyciskow[i][j].selektor]); } } Reset(); } function Reset() { for (var i = 0; i < TablicaPrzyciskow.length; i++) { for (var j = 0; j < TablicaPrzyciskow[i].length; j++) { window[TablicaPrzyciskow[i][j].selektor].textContent = TablicaPrzyciskow[i][j].tytul; window[TablicaPrzyciskow[i][j].selektor].id = TablicaPrzyciskow[i][j].id; window[TablicaPrzyciskow[i][j].selektor].style.color = ""; if (j < 4) { if (i < 2) { window[TablicaPrzyciskow[i][j].selektor].addEventListener("click", PrzygotowanieDoPobierania, false); } else { window[TablicaPrzyciskow[i][j].selektor].addEventListener("click", Nieaktywne, false); window[TablicaPrzyciskow[i][j].selektor].style.color = "grey"; } } else { window[TablicaPrzyciskow[i][j].selektor].addEventListener("click", Ostrzezenie, false); window[TablicaPrzyciskow[i][j].selektor].style.color = "grey"; } if (j === TablicaPrzyciskow[i].length-1) { window[TablicaPrzyciskow[i][j].selektor].removeAttribute("download"); window[TablicaPrzyciskow[i][j].selektor].removeAttribute("href"); } } } KtoraStrona = 0; CzyStrona = 1; LiczbaOcen = 0; LiczbaPobranychOcen = 0; EksportOcen_PrzyciskZapiszOcenyDoXLS.removeEventListener("click", ZapiszOcenyDoXLS, false); EksportOcen_PrzyciskZapiszChceZobaczycDoXLS.removeEventListener("click", ZapiszChceZobaczycDoXLS, false); EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS.removeEventListener("click", ZapiszNieInteresujeMnieDoXLS, false); document.title = TytulStrony; } function PrzygotowanieDoPobierania() { TempArray = this.id.split(","); NumerDiva = parseInt(TempArray[0]); NumerPrzycisku = parseInt(TempArray[1]); Reset(); StworzTabelke(); window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "rozpoczynanie pobierania..."; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; if (NumerDiva === 0) { var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { LiczbaOcen = this.response; }; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/vote/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/count"; } else if (KtoToJest == "znajomy") { Parametr = "user/"+NazwaProfilu+"/votes/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/count"; } Request.open("GET", "https://www.filmweb.pl/api/v1/"+Parametr, false); Request.send(); if (LiczbaOcen > 0) { PobierzOceny(); } else { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "brak ocen"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "green"; } } else if (NumerDiva === 1) { var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { LiczbaOcen = this.response; }; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/want2see/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/count"; } else if (KtoToJest == "znajomy") { Parametr = "user/"+NazwaProfilu+"/want2see/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/count"; } Request.open("GET", "https://www.filmweb.pl/api/v1/"+Parametr, false); Request.send(); if (LiczbaOcen > 0) { PobierzChce(); } else { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "brak wpisów"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "green"; } } else if (NumerDiva === 2) { var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { LiczbaOcen = this.response; }; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/dontwant2see/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/count"; } else if (KtoToJest == "znajomy") { Parametr = "user/"+NazwaProfilu+"/dontwant2see/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/count"; } Request.open("GET", "https://www.filmweb.pl/api/v1/"+Parametr, false); Request.send(); if (LiczbaOcen > 0) { PobierzNieInteresujeMnie(); } else { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "brak wpisów"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "green"; } } } function PobierzOceny() { KtoraStrona++; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "pobrano "+LiczbaPobranychOcen+"/"+LiczbaOcen+" ocen"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; document.title = "(Pobrano "+Math.round(LiczbaPobranychOcen/LiczbaOcen*100)+"%) "+TytulStrony; if (CzyStrona && LiczbaPobranychOcen < LiczbaOcen) { var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "red"; }; Request.onload = PrzetworzOceny; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/vote/title"; } else if (KtoToJest == "znajomy") { Parametr = "logged/friend/"+NazwaProfilu+"/vote/title"; } Request.open("GET", "https://www.filmweb.pl/api/v1/"+Parametr+"/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].parametr+KtoraStrona, true); Request.send(); } else { EksportOcen_PrzyciskZapiszOcenyDoXLS.removeEventListener("click", Ostrzezenie, false); EksportOcen_PrzyciskZapiszOcenyDoXLS.addEventListener("click", ZapiszOcenyDoXLS, false); EksportOcen_PrzyciskZapiszOcenyDoXLS.setAttribute("download", NazwaProfilu+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].plik); EksportOcen_PrzyciskZapiszOcenyDoXLS.style.color = ""; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "green"; } } function PobierzChce() { KtoraStrona++; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "pobrano "+LiczbaPobranychOcen+"/"+LiczbaOcen+" wpisów"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; document.title = "(Pobrano "+Math.round(LiczbaPobranychOcen/LiczbaOcen*100)+"%) "+TytulStrony; if (CzyStrona && LiczbaPobranychOcen < LiczbaOcen) { var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "red"; }; Request.onload = PrzetworzChce; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/want2see"; } else if (KtoToJest == "znajomy") { Parametr = "logged/friend/"+NazwaProfilu+"/want2see"; } Request.open("GET", "https://www.filmweb.pl/api/v1/"+Parametr+"/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].parametr+KtoraStrona, true); Request.send(); } else { EksportOcen_PrzyciskZapiszChceZobaczycDoXLS.removeEventListener("click", Ostrzezenie, false); EksportOcen_PrzyciskZapiszChceZobaczycDoXLS.addEventListener("click", ZapiszChceZobaczycDoXLS, false); EksportOcen_PrzyciskZapiszChceZobaczycDoXLS.setAttribute("download", NazwaProfilu+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].plik); EksportOcen_PrzyciskZapiszChceZobaczycDoXLS.style.color = ""; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "green"; } } function PobierzNieInteresujeMnie() { KtoraStrona++; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "pobrano "+LiczbaPobranychOcen+"/"+LiczbaOcen+" wpisów"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; document.title = "(Pobrano "+Math.round(LiczbaPobranychOcen/LiczbaOcen*100)+"%) "+TytulStrony; if (CzyStrona && LiczbaPobranychOcen < LiczbaOcen) { var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "red"; }; Request.onload = PrzetworzNieInteresujeMnie; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/dontwant2see"; } else if (KtoToJest == "znajomy") { Parametr = "logged/friend/"+NazwaProfilu+"/dontwant2see"; } Request.open("GET", "https://www.filmweb.pl/api/v1/"+Parametr+"/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].parametr+KtoraStrona, true); Request.send(); } else { EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS.removeEventListener("click", Ostrzezenie, false); EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS.addEventListener("click", ZapiszNieInteresujeMnieDoXLS, false); EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS.setAttribute("download", NazwaProfilu+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].plik); EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS.style.color = ""; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "green"; } } function PrzetworzOceny() { var PageInfo = JSON.parse(this.responseText); if (this.responseText == "[]") { CzyStrona = 0; PobierzOceny(); return; } for (var i = 0; i < PageInfo.length; i++) { var ID = PageInfo[i].entity; var MovieInfo = null; var MovieURL = "https://www.filmweb.pl/api/v1/title/"+ID+"/info"; var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { try { MovieInfo = JSON.parse(this.response); } catch (e) { MovieInfo = null; } }; Request.open("GET", MovieURL, false); Request.setRequestHeader("x-locale", "PL"); Request.send(); if (MovieInfo === null) { continue; } var VoteInfo = null; var Parametr; if (KtoToJest == "ja") { Parametr = "logged/vote"; } else if (KtoToJest == "znajomy") { Parametr = "logged/friend/"+NazwaProfilu+"/vote"; } var VoteURL = "https://www.filmweb.pl/api/v1/"+Parametr+"/"+TablicaPrzyciskow[NumerDiva][NumerPrzycisku].tytul_fw+"/"+ID+"/details"; var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { try { VoteInfo = JSON.parse(this.response); } catch (e) { VoteInfo = null; } }; Request.open("GET", VoteURL, false); Request.send(); if (VoteInfo === null) { continue; } RowSelector = Tabela.insertRow(); //ID CellSelector = RowSelector.insertCell(); CellSelector.textContent = ID; //Tytuł polski CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.title; //Tytuł oryginalny CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.originalTitle; //Rok produkcji CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.year; //Ulubione CellSelector = RowSelector.insertCell(); if (VoteInfo.favorite) { CellSelector.textContent = "tak"; } //Ocena CellSelector = RowSelector.insertCell(); VoteInfo.rate == 0 ? CellSelector.textContent = "brak oceny" : CellSelector.textContent = VoteInfo.rate; //Komentarz CellSelector = RowSelector.insertCell(); if (VoteInfo.comment) { CellSelector.textContent = VoteInfo.comment; } //Gatunek CellSelector = RowSelector.insertCell(); //Data CellSelector = RowSelector.insertCell(); if (VoteInfo.viewDate) { var date = VoteInfo.viewDate.toString().substring(0, 4); if (VoteInfo.viewDate.toString().substring(4, 6) != "00") { date = VoteInfo.viewDate.toString().substring(4, 6)+"-"+date; if (VoteInfo.viewDate.toString().substring(6, 8) != "00") { date = VoteInfo.viewDate.toString().substring(6, 8)+"-"+date; } } CellSelector.textContent = date; } LiczbaPobranychOcen++; } setTimeout(function() { PobierzOceny(); }, OpoznieniePobraniaStrony); } function PrzetworzChce() { var PageInfo = JSON.parse(this.responseText); if (this.responseText == "[]") { CzyStrona = 0; PobierzChce(); return; } for (var i = 0; i < PageInfo.length; i++) { var ID = PageInfo[i].entity; var MovieInfo = null; var MovieURL = "https://www.filmweb.pl/api/v1/title/"+ID+"/info"; var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { try { MovieInfo = JSON.parse(this.response); } catch (e) { MovieInfo = null; } }; Request.open("GET", MovieURL, false); Request.setRequestHeader("x-locale", "PL"); Request.send(); if (MovieInfo === null) { continue; } RowSelector = Tabela.insertRow(); //ID CellSelector = RowSelector.insertCell(); CellSelector.textContent = ID; //Tytuł polski CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.title; //Tytuł oryginalny CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.originalTitle; //Rok produkcji CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.year; //Jak bardzo chce var levels; if (KtoToJest == "ja") { levels = ["Interesuje mnie", "Kiedyś obejrzę", "Na pewno obejrzę", "Muszę obejrzeć", "Umrę jak nie zobaczę"]; } else if (KtoToJest == "znajomy") { levels = ["Jest zainteresowany", "Kiedyś obejrzy", "Na pewno obejrzy", "Musi obejrzeć", "Umrze jak nie zobaczy"]; } CellSelector = RowSelector.insertCell(); CellSelector.textContent = levels[PageInfo[i].level - 1]; //Gatunek CellSelector = RowSelector.insertCell(); LiczbaPobranychOcen++; } setTimeout(function() { PobierzChce(); }, OpoznieniePobraniaStrony); } function PrzetworzNieInteresujeMnie() { var PageInfo = JSON.parse(this.responseText); if (this.responseText == "[]") { CzyStrona = 0; PobierzNieInteresujeMnie(); return; } for (var i = 0; i < PageInfo.length; i++) { var ID = PageInfo[i].entity; var MovieInfo = null; var MovieURL = "https://www.filmweb.pl/api/v1/title/"+ID+"/info"; var Request = new XMLHttpRequest(); Request.onerror = function() { window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].textContent = "błąd pobierania"; window[TablicaPrzyciskow[NumerDiva][NumerPrzycisku].selektor].style.color = "darkorange"; }; Request.onload = function() { try { MovieInfo = JSON.parse(this.response); } catch (e) { MovieInfo = null; } }; Request.open("GET", MovieURL, false); Request.setRequestHeader("x-locale", "PL"); Request.send(); if (MovieInfo === null) { continue; } RowSelector = Tabela.insertRow(); //Tytuł polski CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.title; //Tytuł oryginalny CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.originalTitle; //Rok produkcji CellSelector = RowSelector.insertCell(); CellSelector.textContent = MovieInfo.year; //Gatunek CellSelector = RowSelector.insertCell(); LiczbaPobranychOcen++; } setTimeout(function() { PobierzNieChce(); }, OpoznieniePobraniaStrony); } function ZapiszOcenyDoXLS() { return ExcellentExport.excel(EksportOcen_PrzyciskZapiszOcenyDoXLS, "userscript", "Oceny"); } function ZapiszChceZobaczycDoXLS() { return ExcellentExport.excel(EksportOcen_PrzyciskZapiszChceZobaczycDoXLS, "userscript", "Chcę zobaczyć"); } function ZapiszNieInteresujeMnieDoXLS() { return ExcellentExport.excel(EksportOcen_PrzyciskZapiszNieInteresujeMnieDoXLS, "userscript", "Nie interesuje mnie"); } function StworzTabelke() { Tabela = document.querySelector("#userscript"); if (Tabela !== null) { document.body.removeChild(Tabela); } Tabela = document.createElement("table"); Tabela.id = "userscript"; Tabela.style.display = "none"; document.body.appendChild(Tabela); RowSelector = Tabela.insertRow(); KtoreElementy = TablicaPrzyciskow[NumerDiva][NumerPrzycisku].ktoreelementy.split(","); for (var i = 0; i < KtoreElementy.length; i++) { CellSelector = document.createElement("th"); CellSelector.id = "abc"; CellSelector.textContent = ListaKolumn[KtoreElementy[i]]; RowSelector.appendChild(CellSelector); } } function Ostrzezenie() { alert("Najpierw pobierz którąś kategorię."); } function Nieaktywne() { alert("Niestety Filmweb nie udostępnia aktualnie tych danych."); } }, 2000);