# -*- coding: utf-8 -*- # vStream https://github.com/Kodi-vStream/venom-xbmc-addons import re import requests import xbmc from resources.lib.gui.hoster import cHosterGui from resources.lib.gui.gui import cGui from resources.lib.handler.inputParameterHandler import cInputParameterHandler from resources.lib.handler.outputParameterHandler import cOutputParameterHandler from resources.lib.handler.requestHandler import cRequestHandler from resources.lib.parser import cParser from resources.lib.util import cUtil from resources.lib.comaddon import progress, dialog SITE_IDENTIFIER = 'dpstreaming' SITE_NAME = 'DP Streaming' SITE_DESC = 'Séries en Streaming' URL_MAIN = 'https://series.dpstreaming.to/' SERIE_SERIES = (URL_MAIN + 'serie-category/series/', 'showMovies') SERIE_NEWS = (URL_MAIN + 'serie-category/series/', 'showMovies') SERIE_GENRES = (True, 'showGenres') ANIM_ENFANTS = (URL_MAIN + 'serie-category/series/dessin-anime/', 'showMovies') URL_SEARCH = (URL_MAIN + '?s=', 'showMovies') URL_SEARCH_SERIES = (URL_SEARCH[0], 'showMovies') FUNCTION_SEARCH = 'showMovies' def ProtectstreamBypass(url): if url.startswith('/'): url = URL_MAIN[:-1] + url UA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0' session = requests.Session() session.headers.update({'User-Agent': UA, 'Referer': URL_MAIN, 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'}) try: response = session.get(url, timeout=5) response.raise_for_status() except requests.exceptions.RequestException as e: print('erreur ' + str(e)) return '' sHtmlContent = response.text oParser = cParser() sPattern = 'var k=\"([^<>\"]*?)\";' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): dialog().VSinfo('Décodage en cours', 'Patientez', 5) xbmc.sleep(5000) postdata = aResult[1][0] headers = {'User-Agent': UA, 'Accept': '*/*', 'Referer': url, 'Content-Type': 'application/x-www-form-urlencoded' } session.headers.update(headers) data = {'k': postdata} try: response = session.post(URL_MAIN + 'embed_secur.php', data=data) except requests.exceptions.RequestException as e: print('erreur' + str(e)) return '' data = response.text data = data.encode('utf-8', 'ignore') # VSlog(type(data)) # VSlog(repr(data)) # fh = open('c:\\test.txt', 'w') # fh.write(data) # fh.close() # Test de fonctionnement aResult = oParser.parse(data, sPattern) if aResult[0]: dialog().VSinfo('Lien encore protegé', 'Erreur', 5) return '' # recherche du lien embed sPattern = '