Modify the list by cards with images on streaming sites

You are going to need an API https://www.themoviedb.org

  1. // ==UserScript==
  2. // @name Modify the list by cards with images on streaming sites
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description You are going to need an API https://www.themoviedb.org
  6. // @author M1tx
  7.  
  8. // @include http*://rolrov.com/*
  9. // @include http*://ovoob.com/*
  10. // @include http*://*tomacloud.com/*
  11. // @include http*://*toblek.com/*
  12. // @include http*://*galtro.com/*
  13. // @include http*://*wobno.com/*
  14. // @include http*://*yisera.com/*
  15. // @include http*://*limpod.com/*
  16. // @include http*://*tamdor.com/*
  17. // @include http*://*bofiaz.com/*
  18. // @include http*://*radego.com/*
  19. // @include http*://*trozam.com/*
  20. // @include http*://*abiov.com/*
  21. // @include http*://*crebya.com/*
  22. // @include http*://*ivmox.com/*
  23. // @include http*://*botidou.com/*
  24. // @include http*://*urmoon.com/*
  25. // @include http*://*datzio.com/*
  26. // @include http*://*rawdid.com/*
  27. // @include http*://*bonoov.com/*
  28. // @include http*://*zetmir.com/*
  29. // @include http*://*xoperi.com/*
  30. // @include http*://*yisera.com/*
  31. // @include http*://*jomvu.com/*
  32. // @include http*://*diagrim.com/*
  33. // @include http*://*nirbom.com/*
  34. // @include http*://*remenz.com/*
  35. // @include http*://*filriv.com/*
  36. // @include http*://*gopzay.com/*
  37. // @include http*://*fervap.com/*
  38. // @include http*://*eyobim.com/*
  39. // @include http*://*jexoom.com/*
  40. // @include http*://*rodroz.com/*
  41. // @include http*://*xepam.com/*
  42. // @include http*://*motezi.com/*
  43. // @include http*://*peralga.com/*
  44. // @include http*://*nimvon.com/*
  45. // @include http*://*treyim.com/*
  46. // @include http*://*wanveo.com/*
  47. // @include http*://*kanmav.com/*
  48. // @include http*://*sajbo.com/*
  49. // @include http*://*xitof.com/*
  50. // @include http*://*vavozi.com/*
  51. // @include http*://*mindooz.com/*
  52. // @include http*://*afzor.com/*
  53. // @include http*://*bipvo.com/*
  54. // @include http*://*sowdrip.com/*
  55. // @include http*://*yapeol.com/*
  56. // @include http*://*nidoron.com/*
  57. // @include http*://*apolma.com/*
  58. // @include http*://*irumax.com/*
  59. // @include http*://*dolbri.com/*
  60. // @include http*://*mirvoy.com/*
  61. // @include http*://*parmiv.com/*
  62. // @include http*://*kapmop.com/*
  63. // @include http*://*vitmox.com/*
  64. // @include http*://*binmir.com/*
  65. // @include http*://*dirmox.com/*
  66. // @include http*://*irdoz.com/*
  67. // @include http*://*avtod.com/*
  68. // @include http*://*zinbax.com/*
  69. // @include http*://*treyim.com/*
  70. // @include http*://*sajbo.com/*
  71. // @include http*://*komiav.com/*
  72. // @include http*://*lozicon.com/*
  73. // @include http*://*tiwzen.com/*
  74. // @include http*://*xevdaz.com/*
  75. // @include http*://*zadiro.com/*
  76. // @include http*://*uquaz.com/*
  77. // @include http*://*lakmoa.com/*
  78. // @include http*://*yeswani.com/*
  79. // @include http*://*moyeor.com/*
  80. // @include http*://*trobway.com/*
  81. // @include http*://*pifdi.com/*
  82. // @include http*://*barlox.com/*
  83. // @include http*://*kempox.com/*
  84. // @include http*://*ditroz.com/*
  85. // @include http*://*fovri.com/*
  86. // @include http*://*rotwi.com/*
  87. // @include http*://*nidroy.com/*
  88. // @include http*://*dadroz.com/*
  89. // @include http*://*abdov.com/*
  90. // @include http*://*omyfo.com/*
  91. // @include http*://*wonior.com/*
  92. // @include http*://*druvaz.com/*
  93. // @include http*://*clavior.com/*
  94. // @include http*://*epiog.com/*
  95. // @include http*://*piopar.com/*
  96. // @include http*://*sivtez.com/*
  97. // @include http*://*zidixo.com/*
  98. // @include http*://*bovmi.com/*
  99. // @include http*://*tratov.com/*
  100. // @include http*://*vagdi.com/*
  101. // @include http*://*zawox.com/*
  102. // @include http*://*grizox.com/*
  103. // @include http*://*mildip.com/*
  104. // @include http*://*zavrol.com/*
  105. // @include http*://*okvop.com/*
  106. // @include http*://*pilmov.com/*
  107. // @include http*://*obniv.com/*
  108. // @include http*://*wavob.com/*
  109. // @include http*://*extrabb.com/*
  110. // @include http*://*bambip.com/*
  111. // @include http*://*pijpa.com/*
  112. // @include http*://*ovtok.com/*
  113. // @include http*://*ivrom.com/*
  114. // @include http*://*waklov.com/*
  115. // @include http*://*redzor.com/*
  116. // @include http*://*dibrav.com/*
  117. // @include http*://*flazto.com/*
  118. // @include http*://*bovrom.com/*
  119. // @include http*://*davrip.com/*
  120. // @include http*://*framib.com/*
  121. // @include http*://*difiam.com/*
  122. // @include http*://*ridzov.com/*
  123. // @include http*://*netdov.com/*
  124. // @include http*://*flozor.com/*
  125. // @include http*://*choupox.com/*
  126. // @include http*://*framib.com/*
  127. // @include http*://*evdod.com/*
  128. // @include http*://*badrip.com/*
  129. // @include http*://*poblom.com/*
  130. // @include http*://*zaniob.com/*
  131. // @include http*://*sardip.com/*
  132. // @include http*://*rigrov.com/*
  133. // @include http*://*justdaz.com/*
  134. // @include http*://*voplav.com/*
  135. // @include http*://*vadraz.com/*
  136. // @include http*://*saypap.com/*
  137. // @include http*://*sabtam.com/*
  138. // @include http*://*grebak.com/*
  139. // @include http*://*brikstok.com/*
  140. // @include http*://*tivrod.com/*
  141. // @include http*://*takpok.com/*
  142. // @include http*://*nofza.com/*
  143. // @include http*://*zifub.com/*
  144. // @include http*://*katrov.com/*
  145. // @include http*://*dokral.com/*
  146. // @include http*://*rikmod.com/*
  147. // @include http*://*tobrok.com/*
  148. // @include http*://*naxpom.com/*
  149. // @include http*://*grogab.com/*
  150. // @include http*://*nopliv.com/*
  151. // @include http*://*votrob.com/*
  152. // @include http*://*tiblor.com/*
  153. // @include http*://*brorov.com/*
  154. // @include http*://*redziv.com/*
  155.  
  156.  
  157. // @grant GM_xmlhttpRequest
  158. // ==/UserScript==
  159.  
  160. (function() {
  161. 'use strict';
  162.  
  163. const apiKey = 'Your_apikey';
  164.  
  165. function fetchMoviePoster(movieTitle, callback) {
  166. const url = `https://api.themoviedb.org/3/search/movie?api_key=${apiKey}&query=${encodeURIComponent(movieTitle)}`;
  167. console.log('Fetching poster for:', movieTitle);
  168. GM_xmlhttpRequest({
  169. method: "GET",
  170. url: url,
  171. onload: function(response) {
  172. const json = JSON.parse(response.responseText);
  173. if (json.results && json.results.length > 0) {
  174. const posterPath = json.results[0].poster_path;
  175. const posterUrl = `https://image.tmdb.org/t/p/w200${posterPath}`;
  176. console.log('Poster URL:', posterUrl);
  177. callback(posterUrl);
  178. } else {
  179. console.log('No poster found for:', movieTitle);
  180. callback(null);
  181. }
  182. }
  183. });
  184. }
  185.  
  186. function replaceDivsWithCards() {
  187. const divs = document.querySelectorAll('#hann');
  188. divs.forEach(div => {
  189. const movieLink = div.querySelector('a');
  190. const movieTitle = movieLink.textContent.trim();
  191. const movieYearMatch = movieTitle.match(/\((\d{4})\)/);
  192. const movieYear = movieYearMatch ? movieYearMatch[1] : '';
  193.  
  194. // Supprimer l'année et "HD" du titre du film
  195. const cleanMovieTitle = movieTitle.replace(/\((\d{4})\)|HD/gi, '').trim();
  196.  
  197. fetchMoviePoster(cleanMovieTitle, posterUrl => {
  198. const card = document.createElement('div');
  199. card.className = 'movie-card';
  200. card.innerHTML = `
  201. <a href="${movieLink.href}" class="movie-card-link">
  202. <div class="movie-poster">
  203. ${posterUrl ? `<img src="${posterUrl}" alt="${movieTitle}">` : ''}
  204. </div>
  205. <div class="movie-info">
  206. <h3>${movieTitle}</h3>
  207. <p>${movieYear}</p>
  208. </div>
  209. </a>
  210. `;
  211. div.parentNode.replaceChild(card, div);
  212. });
  213. });
  214. }
  215.  
  216. function addCardStyles() {
  217. const style = document.createElement('style');
  218. style.innerHTML = `
  219. .movie-card {
  220. display: inline-block;
  221. width: 200px;
  222. padding: 10px;
  223. box-sizing: border-box;
  224. vertical-align: top;
  225. text-align: center;
  226. margin: 5px;
  227. border: 1px solid #ccc;
  228. border-radius: 5px;
  229. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  230. background-color: #fff;
  231. transition: transform 0.3s;
  232. }
  233. .movie-card:hover {
  234. transform: translateY(-5px);
  235. box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  236. }
  237. .movie-card-link {
  238. display: block;
  239. text-decoration: none;
  240. color: inherit;
  241. }
  242. .movie-card-link:hover {
  243. text-decoration: none;
  244. }
  245. .movie-poster {
  246. width: 100%;
  247. height: auto;
  248. position: relative;
  249. overflow: hidden;
  250. border-radius: 5px;
  251. }
  252. .movie-poster img {
  253. width: 100%;
  254. height: auto;
  255. display: block;
  256. transition: transform 0.3s;
  257. }
  258. .movie-card:hover .movie-poster img {
  259. transform: scale(1.1);
  260. }
  261. .movie-info {
  262. margin-top: 10px;
  263. }
  264. .movie-info h3 {
  265. font-size: 18px;
  266. margin-bottom: 5px;
  267. font-weight: bold;
  268. line-height: 1.3;
  269. color: #000000
  270. }
  271. .movie-info p {
  272. font-size: 14px;
  273. color: #777;
  274. margin: 0;
  275. }
  276. `;
  277. document.head.appendChild(style);
  278. }
  279.  
  280.  
  281.  
  282. // Appeler la fonction pour ajouter des styles CSS
  283. addCardStyles();
  284.  
  285. // Appeler la fonction pour remplacer les divs par des cartes
  286. replaceDivsWithCards();
  287. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址