<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Неофициальный форум DLNA Home Media Server &mdash; Помощь в парсинге ссылок.]]></title>
		<link>https://hms.lostcut.net/viewtopic.php?id=858</link>
		<atom:link href="https://hms.lostcut.net/extern.php?action=feed&amp;tid=858&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Помощь в парсинге ссылок.».]]></description>
		<lastBuildDate>Mon, 22 Jan 2024 13:57:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=18316#p18316</link>
			<description><![CDATA[<div class="quotebox"><cite>bond пишет:</cite><blockquote><p>preg_match_all(&#039;/data-json=\&#039;(.*?)\&#039;.*?season-title&quot;&gt;(.*?)&lt;\//ms&#039;, $doc, $mat);<br />регулярка хоть убей пустые результаты толи кодировка ума не приложу может версия php влияет</p></blockquote></div><p>Привет, а вот так попробуй<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>preg_match_all(&#039;#[&quot;\&#039;]url[&quot;\&#039;]:[&quot;\&#039;]([^&quot;]+)[&quot;\&#039;].*?title&quot;&gt;([^&gt;]+)&lt;\/#&#039;,$doc, $mat);</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (Spell)]]></author>
			<pubDate>Mon, 22 Jan 2024 13:57:27 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=18316#p18316</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=17971#p17971</link>
			<description><![CDATA[<p>Помогите с filmix<br />Нужно на python3 достать </p><div class="quotebox"><blockquote><p><a href="https://filmix.ac/api/movies/player_data?t=1638142109766">https://filmix.ac/api/movies/player_dat … 8142109766</a></p></blockquote></div><p> ???<br />вот инфа из нее<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>{&quot;message&quot;:{&quot;timeShift&quot;:[],&quot;dailyViewed&quot;:[],&quot;savedMovies&quot;:false,&quot;translations&quot;:{&quot;video&quot;:{&quot;\u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 [4K, SDR]&quot;:&quot;#2WzQ4MHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS91aGRfbWMvR3VucG93ZGVyLk1pbGtzaGFrZS4yMDIxLlNEUi5XRUJSaXAuMjE2MHAucnVzXzQ4MC5tcDQsWzcyMHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS91aGRfbWMvR3VucG93ZGVyLk1pbGtzaGFrZS4yMDIxLlNEUi5XRUJSaXAuMjE2MHAucnVzXzcyMC5tcDQsWzEwODBwXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmNvb:&lt;:Mm93S0RVb0d6c3VMTkV5aE54S9zL0ZYRlNZTGdBb25:&lt;:bzl3UHQwaWk0MkdXZVM3TDdBtNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvdWhkX21jL0d1bnBvd2Rlci5NaWxrc2hha2UuMjAyMS5TRFIuV0VCUmlwLjIxNjBwLnJ1c18xMDgwLm1wNCxbMTA4MHAgVWx0cmErXWh0:&lt;:MTluMWlLQnI4OXVic2tTNXpUdHBzOi8vbmwxMDAuY2Ruc3F1LmNvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvdWhkX21jL0d1bnBvd2Rlci5NaWxrc2hha2UuMjAyMS5TRFIuV0VCUmlwLjIxNjBwLnJ1c18xNDQwLm1wNCxbNEsgVUhEXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmN:&lt;:bE5qSTlWNVUxZ01uc3h0NFFyvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvdWhkX21jL0d1bnBvd2Rlci5NaWxrc2hha2UuMjAyMS5TRFIuV0VCUmlwLjIxNjBwLnJ1c18yMTYwLm1w:&lt;:SURhQnQwOEM5V2Y3bFlyMGVINA==&quot;,&quot;\u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 (\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0438\u0439) [4K, SDR]&quot;:&quot;#2WzQ4MHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS91aGRfbWMvR3VucG93ZGVyLk1pbGtzaGFrZS4yMDIxLlNEUi5XRUJSaXAuMjE2MHAudWtyXzQ4MC5tcDQ\/dnM0LW9yaWdpbixbNzIwcF1odHRwczovL25sMTAwLmNkbnNxdS5jb20vcy9GWEZTWUxnQW9ubTVqb1VLZVQ3bFowNFdBa0ZCUVVGQlQxUlpSMFZGUWxsdlRFRkNXVXByUm10R:&lt;:bE5qSTlWNVUxZ01uc3h0NFFylBRL3VoZF9tYy9HdW5wb3dkZXIuTWlsa3NoYWtlLjIwMjEuU0RSLldFQlJpcC4yMTYwcC51a3JfNzIwLm1wND92czQtb3JpZ2luLFsxMDgwcF1odHRwczovL25sMTAwLmNkbnNxdS5jb20vcy9GWEZTWUxnQW9ubTVqb1VLZVQ3bFowNFdBa0ZCUVVGQlQxUlpSMFZGUWxsdlRFRkNXVXByUm10RlBRL3VoZF9tYy9HdW5wb3dkZXIuTWlsa3NoYWtlLjIwMjEuU0RSLldFQlJpcC4yMTYwcC51a3JfMTA4MC5tcDQ\/dnM0LW9yaWdpbixbMTA4MHAgVWx0cmErXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmNvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvdWhkX21jL0d1bnBvd2Rlci5NaWxrc2hha2UuMjAyMS5TRFIuV0V:&lt;:SURhQnQwOEM5V2Y3bFlyMGVICUmlw:&lt;:bzl3UHQwaWk0MkdXZVM3TDdBLjIxNjBwLnVrcl8xNDQwLm1:&lt;:MTluMWlLQnI4OXVic2tTNXpUwND92czQtb3JpZ2luLFs0SyBVSERdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS91aGRfbWMvR3VucG93ZGVyLk1pbGtzaGFrZS4yMDIxLlNEUi5XRUJSaXAuMjE2MHAudWtyXzIxNjAubXA0P3ZzNC1vc:&lt;:Mm93S0RVb0d6c3VMTkV5aE54mlnaW4=&quot;,&quot;HDRezka (\u0420\u0443\u0441\u0441\u043a\u0438\u0439) [4K, SDR]&quot;:&quot;#2WzQ4MHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS91aGRfbWMvR3VucG93ZGVyLk1pbGtzaGFrZS4yMDIxLldFQlJpcC4yMTYwcC5TRFJfNDgwLm1wND92czQtb3JpZ2luLFs3MjBwXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmNvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvdWhkX21jL0d1bnBvd2Rlci5NaWxrc2hha2UuMjAyMS5XRUJSaXAuMjE2MHAuU0RSXzcyMC5tcDQ\/dnM0LW9yaWdpbixbMTA4MHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQ:&lt;:Mm93S0RVb0d6c3VMTkV5aE54lFVRkJUM:&lt;:SURhQnQwOEM5V2Y3bFlyMGVIVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS91aGRfbWMvR3VucG93ZGVyLk1pbGtzaGFrZS4:&lt;:bzl3UHQwaWk0MkdXZVM3TDdByMDIxLldFQlJpcC4yMTYwcC5TRFJfMTA4MC5tcDQ\/dnM0LW9yaWdpbixbMTA4MHAgVWx0cmErXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmNvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvdWhkX21jL0d1bnBvd2Rlci5NaWxrc2hha2Uu:&lt;:bE5qSTlWNVUxZ01uc3h0NFFyMjAyMS5XRUJSaXAuMjE2MHAuU0RSXzE0NDAubXA0P3ZzNC1vcmlnaW4sWzRLIFVIRF1odHRwczovL25sMTAwLmNkbnNxdS5jb20vcy9GWEZTWUxnQW9ubTVqb1VLZVQ3bFowNFdBa0ZCUVVGQlQxUlpSMFZGUWxsdlRFRkNXVXByUm10RlBRL3V:&lt;:MTluMWlLQnI4OXVic2tTNXpUoZF9tYy9HdW5wb3dkZXIuTWlsa3NoYWtlLjIwMjEuV0VCUmlwLjIxNjBwLlNEUl8yMTYwLm1wND92czQtb3JpZ2lu&quot;,&quot;DniproFilm (\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430)&quot;:&quot;#2WzQ4MHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS9oZF8yMy9HdW5wb3dkZXIuTWlsa3NoYWtlLjIwMjEuV0VCLURMUmlwLjEwODBwLnVrci41LjFfNDgwLm1wND92czQtb3JpZ2luLFs3MjBwXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmNvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbXRGUFEvaGRfMjMvR3V:&lt;:bzl3UHQwaWk0MkdXZVM3TDdBucG93ZGVyLk1pbGtzaGFrZS4yMDIxLldFQi:&lt;:Mm93S0RVb0d6c3VMTkV5aE541ETFJpcC4xMDgwcC51a3IuNS4xXzcyMC5tcDQ\/dnM0LW9yaWdpbixbMTA4MHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3M:&lt;:bE5qSTlWNVUxZ01uc3h0NFFyvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS9oZF8yMy9HdW5wb3dkZXIuTWlsa3NoYWtlLjIwMjEuV0VCLURMUmlwLjEwODBwLnVrci41LjFfMTA4MC5tcDQ\/dnM0LW9yaWdpbixbMTA4MHAgVWx0cmErXWh0dHBzOi8vbmwxMDAuY2Ruc3F1LmNvbS9zL0ZYRlNZTGdBb25tNWpvVUtlVDdsWjA0V0FrRkJRVUZCVDFSWlIwVkZRbGx2VEVGQ1dVcHJSbX:&lt;:MTluMWlLQnI4OXVic2tTNXpURGUFEvaGRfMjMvR3VucG93ZGVyL:&lt;:SURhQnQwOEM5V2Y3bFlyMGVIk1pbGtzaGFrZS4yMDIxLldFQi1ETFJpcC4xMDgwcC51a3IuNS4xXzE0NDAubXA0P3ZzNC1vcmlnaW4=&quot;},&quot;pl&quot;:&quot;no&quot;,&quot;subscriptions&quot;:[],&quot;history&quot;:[],&quot;trailers&quot;:{&quot;\u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 (\u0420\u0423\u0421)&quot;:&quot;#2WzQ4MHBda:&lt;:bE5qSTlWNVUxZ01uc3h0NFFyHR0cHM6Ly9ubDE:&lt;:MTluMWlLQnI4OXVic2tTNXpUwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRX:&lt;:Mm9:&lt;:SURhQnQ:&lt;:bzl3UHQwaWk0MkdXZVM3TDdBwOEM5V2Y3bFlyMGVI3S0RVb0d6c3VMTkV5aE54QWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS90ZWFzZXIudHJhaWxlci9wb3JvaG92b3kta29rdGV5bC0yMDIxXzQ4MC5tcDQsWzcyMHBdaHR0cHM6Ly9ubDEwMC5jZG5zcXUuY29tL3MvRlhGU1lMZ0Fvbm01am9VS2VUN2xaMDRXQWtGQlFVRkJUMVJaUjBWRlFsbHZURUZDV1VwclJtdEZQUS90ZWFzZXIudHJhaWxlci9wb3JvaG92b3kta29rdGV5bC0yMDIxXzcyMC5tcDQ=&quot;},&quot;ok&quot;:true,&quot;ip&quot;:&quot;xxxxxx&quot;},&quot;links&quot;:[]},&quot;type&quot;:&quot;success&quot;,&quot;field&quot;:&quot;&quot;}</code></pre></div></div></div><p>Заранее спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (andrewbeats)]]></author>
			<pubDate>Sun, 28 Nov 2021 23:58:09 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=17971#p17971</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=17965#p17965</link>
			<description><![CDATA[<div class="quotebox"><cite>andrewbeats пишет:</cite><blockquote><p>Всем привет!<br />Кто сможет перевести video.plugin из python2 на python3<br />Вот код:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code> import xbmcaddon,os,requests,xbmc,xbmcgui,urllib,re,xbmcplugin
import urllib.request

def CATEGORIES():
   addDir3(&#039;Live Tv&#039;,&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/channels.txt&#039;,3,&#039;http://original.livestream.com/filestore/logos/6a941358-6c7f-2ebf-e8ac-b05f4f338270-banner.png&#039;,&#039;&#039;,&#039;&#039;)
   addDir3(&#039;Movies&#039;,&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/movies.txt&#039;,4,&#039;https://www.offerpop.com/wp-content/uploads/2014/08/Movies.jpg&#039;,&#039;&#039;,&#039;&#039;)

def channel():
   r = requests.get(&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/channels.txt&#039;)
   match = re.compile(&#039;name= (.+?) url= &quot;(.+?)&quot; logo= &quot;(.+?)&quot;&#039;).findall(r.content)
   for name,link, logo in match:
     addLink(name,link,logo,&#039;&#039;,&#039;&#039;)
     
def Moviess():
   r = requests.get(&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/movies.txt&#039;)
   match = re.compile(&#039;name= (.+?) url= &quot;(.+?)&quot; logo= &quot;(.+?)&quot;&#039;).findall(r.content)
   for name,link, logo in match:
     addLink(name,link,logo,&#039;&#039;,&#039;&#039;)
     
def addLink(name,url,image,urlType,fanart):
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=image, thumbnailImage=image)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name } )
        liz.setProperty(&#039;IsPlayable&#039;,&#039;true&#039;)
        liz.setProperty(&#039;fanart_image&#039;,fanart)
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
    
def get_params():
        param=[]
        paramstring=sys.argv[2]
        if len(paramstring)&gt;=2:
                params=sys.argv[2]
                cleanedparams=params.replace(&#039;?&#039;,&#039;&#039;)
                if (params[len(params)-1]==&#039;/&#039;):
                        params=params[0:len(params)-2]
                pairsofparams=cleanedparams.split(&#039;&amp;&#039;)
                param={}
                for i in range(len(pairsofparams)):
                        splitparams={}
                        splitparams=pairsofparams[i].split(&#039;=&#039;)
                        if (len(splitparams))==2:
                                param[splitparams[0]]=splitparams[1]
                                
        return param       
#################################################################################################################

#                               NEED BELOW CHANGED

  
def addDir(name,url,mode,iconimage):
        u=sys.argv[0]+&quot;?url=&quot;+urllib.parse.quote_plus(url)+&quot;&amp;mode=&quot;+str(mode)+&quot;&amp;name=&quot;+urllib.parse.quote_plus(name)
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=&quot;DefaultFolder.png&quot;, thumbnailImage=iconimage)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name } )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
        return ok
     
def addDir2(name,url,mode,iconimage):
        u=sys.argv[0]+&quot;?url=&quot;+urllib.parse.quote_plus(url)+&quot;&amp;mode=&quot;+str(mode)+&quot;&amp;name=&quot;+urllib.parse.quote_plus(name)
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=&quot;DefaultFolder.png&quot;, thumbnailImage=iconimage)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name } )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=False)
        return ok
###############################################################################################################        

def addDir3(name,url,mode,iconimage,fanart,description):
        u=sys.argv[0]+&quot;?url=&quot;+urllib.parse.quote_plus(url)+&quot;&amp;mode=&quot;+str(mode)+&quot;&amp;name=&quot;+urllib.parse.quote_plus(name)+&quot;&amp;iconimage=&quot;+urllib.parse.quote_plus(iconimage)+&quot;&amp;fanart=&quot;+urllib.parse.quote_plus(fanart)+&quot;&amp;description=&quot;+urllib.parse.quote_plus(description)
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=&quot;DefaultFolder.png&quot;, thumbnailImage=iconimage)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name, &quot;Plot&quot;: description } )
        liz.setProperty( &quot;Fanart_Image&quot;, fanart )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
        return ok


def setView(content, viewType):
    # set content type so library shows more views and info
    if content:
        xbmcplugin.setContent(int(sys.argv[1]), content)
    if ADDON.getSetting(&#039;auto-view&#039;)==&#039;true&#039;:
        xbmc.executebuiltin(&quot;Container.SetViewMode(%s)&quot; % viewType )
 


              
params=get_params()
url=None
name=None
mode=None
iconimage=None
fanart=None
description=None


try:
        url=urllib.parse.unquote_plus(params[&quot;url&quot;])
except:
        pass
try:
        name=urllib.parse.unquote_plus(params[&quot;name&quot;])
except:
        pass
try:
        iconimage=urllib.parse.unquote_plus(params[&quot;iconimage&quot;])
except:
        pass
try:        
        mode=int(params[&quot;mode&quot;])
except:
        pass
try:        
        fanart=urllib.parse.unquote_plus(params[&quot;fanart&quot;])
except:
        pass
try:        
        description=urllib.parse.unquote_plus(params[&quot;description&quot;])
except:
        pass
   
print (&quot;Mode: &quot;+str(mode))
print (&quot;URL: &quot;+str(url))
print (&quot;Name: &quot;+str(name))

if mode==None or url==None or len(url)&lt;1:
        print (&quot;&quot;)
        CATEGORIES()
       
elif mode==1:
        OPEN_URL(url)
elif mode==3:
        channel()
elif mode==4:
        Moviess()

        


xbmcplugin.endOfDirectory(int(sys.argv[1]))</code></pre></div></div></div><p>Спасибо!</p></blockquote></div><p>Есть ответ! Нужно добавить b<br /></p><div class="quotebox"><blockquote><p>b&#039;name= (.+?) url= &quot;(.+?)&quot; logo= &quot;(.+?)&quot;&#039;).findall(r.content)</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (andrewbeats)]]></author>
			<pubDate>Mon, 22 Nov 2021 18:22:04 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=17965#p17965</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=17964#p17964</link>
			<description><![CDATA[<p>Всем привет!<br />Кто сможет перевести video.plugin из python2 на python3<br />Вот код:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code> import xbmcaddon,os,requests,xbmc,xbmcgui,urllib,re,xbmcplugin
import urllib.request

def CATEGORIES():
   addDir3(&#039;Live Tv&#039;,&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/channels.txt&#039;,3,&#039;http://original.livestream.com/filestore/logos/6a941358-6c7f-2ebf-e8ac-b05f4f338270-banner.png&#039;,&#039;&#039;,&#039;&#039;)
   addDir3(&#039;Movies&#039;,&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/movies.txt&#039;,4,&#039;https://www.offerpop.com/wp-content/uploads/2014/08/Movies.jpg&#039;,&#039;&#039;,&#039;&#039;)

def channel():
   r = requests.get(&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/channels.txt&#039;)
   match = re.compile(&#039;name= (.+?) url= &quot;(.+?)&quot; logo= &quot;(.+?)&quot;&#039;).findall(r.content)
   for name,link, logo in match:
     addLink(name,link,logo,&#039;&#039;,&#039;&#039;)
     
def Moviess():
   r = requests.get(&#039;https://e682ab385d0e9eba146f8407acc0383644a1d276.googledrive.com/host/0B88fGGARV1mmcjdJaG1rX1N2NXM/movies.txt&#039;)
   match = re.compile(&#039;name= (.+?) url= &quot;(.+?)&quot; logo= &quot;(.+?)&quot;&#039;).findall(r.content)
   for name,link, logo in match:
     addLink(name,link,logo,&#039;&#039;,&#039;&#039;)
     
def addLink(name,url,image,urlType,fanart):
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=image, thumbnailImage=image)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name } )
        liz.setProperty(&#039;IsPlayable&#039;,&#039;true&#039;)
        liz.setProperty(&#039;fanart_image&#039;,fanart)
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
    
def get_params():
        param=[]
        paramstring=sys.argv[2]
        if len(paramstring)&gt;=2:
                params=sys.argv[2]
                cleanedparams=params.replace(&#039;?&#039;,&#039;&#039;)
                if (params[len(params)-1]==&#039;/&#039;):
                        params=params[0:len(params)-2]
                pairsofparams=cleanedparams.split(&#039;&amp;&#039;)
                param={}
                for i in range(len(pairsofparams)):
                        splitparams={}
                        splitparams=pairsofparams[i].split(&#039;=&#039;)
                        if (len(splitparams))==2:
                                param[splitparams[0]]=splitparams[1]
                                
        return param       
#################################################################################################################

#                               NEED BELOW CHANGED

  
def addDir(name,url,mode,iconimage):
        u=sys.argv[0]+&quot;?url=&quot;+urllib.parse.quote_plus(url)+&quot;&amp;mode=&quot;+str(mode)+&quot;&amp;name=&quot;+urllib.parse.quote_plus(name)
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=&quot;DefaultFolder.png&quot;, thumbnailImage=iconimage)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name } )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
        return ok
     
def addDir2(name,url,mode,iconimage):
        u=sys.argv[0]+&quot;?url=&quot;+urllib.parse.quote_plus(url)+&quot;&amp;mode=&quot;+str(mode)+&quot;&amp;name=&quot;+urllib.parse.quote_plus(name)
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=&quot;DefaultFolder.png&quot;, thumbnailImage=iconimage)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name } )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=False)
        return ok
###############################################################################################################        

def addDir3(name,url,mode,iconimage,fanart,description):
        u=sys.argv[0]+&quot;?url=&quot;+urllib.parse.quote_plus(url)+&quot;&amp;mode=&quot;+str(mode)+&quot;&amp;name=&quot;+urllib.parse.quote_plus(name)+&quot;&amp;iconimage=&quot;+urllib.parse.quote_plus(iconimage)+&quot;&amp;fanart=&quot;+urllib.parse.quote_plus(fanart)+&quot;&amp;description=&quot;+urllib.parse.quote_plus(description)
        ok=True
        liz=xbmcgui.ListItem(name, iconImage=&quot;DefaultFolder.png&quot;, thumbnailImage=iconimage)
        liz.setInfo( type=&quot;Video&quot;, infoLabels={ &quot;Title&quot;: name, &quot;Plot&quot;: description } )
        liz.setProperty( &quot;Fanart_Image&quot;, fanart )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
        return ok


def setView(content, viewType):
    # set content type so library shows more views and info
    if content:
        xbmcplugin.setContent(int(sys.argv[1]), content)
    if ADDON.getSetting(&#039;auto-view&#039;)==&#039;true&#039;:
        xbmc.executebuiltin(&quot;Container.SetViewMode(%s)&quot; % viewType )
 


              
params=get_params()
url=None
name=None
mode=None
iconimage=None
fanart=None
description=None


try:
        url=urllib.parse.unquote_plus(params[&quot;url&quot;])
except:
        pass
try:
        name=urllib.parse.unquote_plus(params[&quot;name&quot;])
except:
        pass
try:
        iconimage=urllib.parse.unquote_plus(params[&quot;iconimage&quot;])
except:
        pass
try:        
        mode=int(params[&quot;mode&quot;])
except:
        pass
try:        
        fanart=urllib.parse.unquote_plus(params[&quot;fanart&quot;])
except:
        pass
try:        
        description=urllib.parse.unquote_plus(params[&quot;description&quot;])
except:
        pass
   
print (&quot;Mode: &quot;+str(mode))
print (&quot;URL: &quot;+str(url))
print (&quot;Name: &quot;+str(name))

if mode==None or url==None or len(url)&lt;1:
        print (&quot;&quot;)
        CATEGORIES()
       
elif mode==1:
        OPEN_URL(url)
elif mode==3:
        channel()
elif mode==4:
        Moviess()

        


xbmcplugin.endOfDirectory(int(sys.argv[1]))</code></pre></div></div></div><p>Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (andrewbeats)]]></author>
			<pubDate>Mon, 22 Nov 2021 07:46:09 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=17964#p17964</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=17944#p17944</link>
			<description><![CDATA[<div class="quotebox"><cite>appledesinger пишет:</cite><blockquote><p>Всем привет может кто помочь как распарсить правильно эти ссылки, что бы получился более структурированный вид.</p><p>Вид после json_decode такой. В поле file все ссылки в кучу как получить по одной? На php желательно</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>Array ( [0] =&gt; Array ( [id] =&gt; 1 [comment] =&gt; 1 сезон [folder] =&gt; Array ( [0] =&gt; Array ( [id] =&gt; 1_1 [comment] =&gt; 1 серия<br />LostFilm [file] =&gt; [360p]//domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/240.mp4 or //domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/240.mp4,[480p]//domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/360.mp4 or //domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/360.mp4 or //domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/240.mp4)))</p></div></div></blockquote></div><p>Примерно как-то так . Для каких целей из вопроса не ясно, какой должен быть вывод тоже нет ясности, поэтому для примера думаю сойдёт.<br />в $data содержаться данные в виде json, либо изменяем $json_decode на свою переменную.</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>$jon_decode = json_decode($data, true);
    $data_url = &#039;&#039;;
    foreach($json_decode as $item){
        $file = explode(&#039;,&#039;, $item[&#039;file&#039;]);
            foreach($file as $files){
                $files = preg_replace(&#039;#\s*or.*#&#039;,&#039;&#039;,$files).&quot;\n&quot;;
                #$files = preg_replace(&#039;#\[.*?\]#&#039;,&#039;&#039;,$files);// Если требуется убрать [240], [320] и т.д то убираем решётку 
                $data_url .= $files;
            }
    }
    echo $data_url;</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (na-socke.tk)]]></author>
			<pubDate>Fri, 03 Sep 2021 17:37:29 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=17944#p17944</guid>
		</item>
		<item>
			<title><![CDATA[Помощь в парсинге ссылок.]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=17943#p17943</link>
			<description><![CDATA[<p>Всем привет может кто помочь как распарсить правильно эти ссылки, что бы получился более структурированный вид.</p><p>Вид после json_decode такой. В поле file все ссылки в кучу как получить по одной? На php желательно</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>Array ( [0] =&gt; Array ( [id] =&gt; 1 [comment] =&gt; 1 сезон [folder] =&gt; Array ( [0] =&gt; Array ( [id] =&gt; 1_1 [comment] =&gt; 1 серия<br />LostFilm [file] =&gt; [360p]//domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/240.mp4 or //domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/240.mp4,[480p]//domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/360.mp4 or //domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/360.mp4 or //domen/tvseries/d2c142aa75a05add23d3bada1b86bf9bbe11f175/418cf81ae3c1e7ce16e01ad6a5cce8b2:2021090411/240.mp4)))</p></div></div>]]></description>
			<author><![CDATA[null@example.com (appledesinger)]]></author>
			<pubDate>Fri, 03 Sep 2021 11:45:12 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=17943#p17943</guid>
		</item>
	</channel>
</rss>
