<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Неофициальный форум DLNA Home Media Server &mdash; Помощь в парсинге ссылок.]]></title>
	<link rel="self" href="https://hms.lostcut.net/extern.php?action=feed&amp;tid=858&amp;type=atom" />
	<updated>2024-01-22T13:57:27Z</updated>
	<generator>PunBB</generator>
	<id>https://hms.lostcut.net/viewtopic.php?id=858</id>
		<entry>
			<title type="html"><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=18316#p18316" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Spell]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=625</uri>
			</author>
			<updated>2024-01-22T13:57:27Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=18316#p18316</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=17971#p17971" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[andrewbeats]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=1775</uri>
			</author>
			<updated>2021-11-28T23:58:09Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=17971#p17971</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=17965#p17965" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[andrewbeats]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=1775</uri>
			</author>
			<updated>2021-11-22T18:22:04Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=17965#p17965</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=17964#p17964" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[andrewbeats]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=1775</uri>
			</author>
			<updated>2021-11-22T07:46:09Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=17964#p17964</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Помощь в парсинге ссылок.]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=17944#p17944" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[na-socke.tk]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=1026</uri>
			</author>
			<updated>2021-09-03T17:37:29Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=17944#p17944</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Помощь в парсинге ссылок.]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=17943#p17943" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[appledesinger]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=2079</uri>
			</author>
			<updated>2021-09-03T11:45:12Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=17943#p17943</id>
		</entry>
</feed>
