Repository: streamlink/streamlink

Issue:
vk.com No playable streams
## Plugin Issue

- [x] This is a plugin issue and I have read the contribution guidelines.

### Description

cant download video.

### Reproduction steps / Explicit stream URLs to test

PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink> .\streamlink.bat https://vk.com/video-75371233_456246230
[cli][info] Found matching plugin vk for URL https://vk.com/video-75371233_456246230
error: No playable streams found on this URL: https://vk.com/video-75371233_456246230

### Log output

PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink> .\streamlink.bat --loglevel debug https://vk.com/video-75371233_456246230 best
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.6.5
[cli][debug] Streamlink: 1.1.1
[cli][debug] Requests(2.21.0), Socks(1.6.7), Websocket(0.56.0)
[cli][info] Found matching plugin vk for URL https://vk.com/video-75371233_456246230
[plugin.vk][debug] video ID: -75371233_456246230
error: No playable streams found on this URL: https://vk.com/video-75371233_456246230
PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink>

PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink> .\streamlink.bat -p vlc --loglevel debug https://vk.com/video-75371233_456246230 best
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.6.5
[cli][debug] Streamlink: 1.1.1
[cli][debug] Requests(2.21.0), Socks(1.6.7), Websocket(0.56.0)
[cli][info] Found matching plugin vk for URL https://vk.com/video-75371233_456246230
[plugin.vk][debug] video ID: -75371233_456246230
error: No playable streams found on this URL: https://vk.com/video-75371233_456246230

PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink> .\streamlink.bat -p vlc --loglevel debug https://vk.com/video-75371233_456246230 best --output video-75371233_456246230
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.6.5
[cli][debug] Streamlink: 1.1.1
[cli][debug] Requests(2.21.0), Socks(1.6.7), Websocket(0.56.0)
[cli][info] Found matching plugin vk for URL https://vk.com/video-75371233_456246230
[plugin.vk][debug] video ID: -75371233_456246230
error: No playable streams found on this URL: https://vk.com/video-75371233_456246230

PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink> .\streamlink.bat -p vlc --loglevel debug https://vk.com/video-75371233_456246230 best --output video-75371233_456246230 --force
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.6.5
[cli][debug] Streamlink: 1.1.1
[cli][debug] Requests(2.21.0), Socks(1.6.7), Websocket(0.56.0)
[cli][info] Found matching plugin vk for URL https://vk.com/video-75371233_456246230
[plugin.vk][debug] video ID: -75371233_456246230
error: No playable streams found on this URL: https://vk.com/video-75371233_456246230

PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink> .\streamlink.bat -p vlc --loglevel debug https://vk.com/video-75371233_456246230 best --output video-75371233_456246230 --force --record video-75371233_456246230
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.6.5
[cli][debug] Streamlink: 1.1.1
[cli][debug] Requests(2.21.0), Socks(1.6.7), Websocket(0.56.0)
[cli][info] Found matching plugin vk for URL https://vk.com/video-75371233_456246230
[plugin.vk][debug] video ID: -75371233_456246230
error: No playable streams found on this URL: https://vk.com/video-75371233_456246230
PS E:\Downloads\web\streamlink-portable-1.1.1-py3.6.5-amd64\streamlink>

### Additional comments, screenshots, etc.

-

[Love Streamlink? Please consider supporting our collective. Thanks!](https://opencollective.com/streamlink/donate)



Discussion:

Resolving patch:
diff --git a/src/streamlink/plugins/vk.py b/src/streamlink/plugins/vk.py
--- a/src/streamlink/plugins/vk.py
+++ b/src/streamlink/plugins/vk.py
@@ -2,7 +2,7 @@
 import logging
 import re
 
-from streamlink.compat import urlparse, unquote
+from streamlink.compat import html_unescape, urlparse, unquote
 from streamlink.plugin import Plugin
 from streamlink.plugin.api import useragents
 from streamlink.plugin.api.utils import itertags
@@ -82,10 +82,7 @@ def _get_streams(self):
 
         for _i in itertags(res.text, 'source'):
             if _i.attributes.get('type') == 'application/vnd.apple.mpegurl':
-                video_url = _i.attributes['src']
-                # Remove invalid URL
-                if video_url.startswith('https://vk.com/'):
-                    continue
+                video_url = html_unescape(_i.attributes['src'])
                 streams = HLSStream.parse_variant_playlist(self.session,
                                                            video_url)
                 if not streams:


Test patch: