Repository: streamlink/streamlink

Issue:
plugins.cdnbg: can't load tv.bnt.bg/bnt3 (Unable to validate response text)
### Checklist

- [X] This is a plugin issue and not a different kind of issue
- [X] [I have read the contribution guidelines](https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md#contributing-to-streamlink)
- [X] [I have checked the list of open and recently closed plugin issues](https://github.com/streamlink/streamlink/issues?q=is%3Aissue+label%3A%22plugin+issue%22)
- [X] [I have checked the commit log of the master branch](https://github.com/streamlink/streamlink/commits/master)

### Streamlink version

Latest build from the master branch

### Description

Can't load tv.bnt.bg/bnt3 or any of this tv.bnt.bg/bnt2 and tv.bnt.bg/bnt.

### Debug log

```text
streamlink --loglevel debug "http://tv.bnt.bg/bnt3" best
[cli][debug] OS:         Linux-5.15.0-56-generic-x86_64-with-glibc2.29
[cli][debug] Python:     3.8.10
[cli][debug] Streamlink: 5.1.2+9.g5639a065
[cli][debug] Dependencies:
[cli][debug]  certifi: 2020.12.5
[cli][debug]  isodate: 0.6.1
[cli][debug]  lxml: 4.9.1
[cli][debug]  pycountry: 22.3.5
[cli][debug]  pycryptodome: 3.15.0
[cli][debug]  PySocks: 1.7.1
[cli][debug]  requests: 2.28.1
[cli][debug]  urllib3: 1.26.12
[cli][debug]  websocket-client: 1.4.1
[cli][debug] Arguments:
[cli][debug]  url=http://tv.bnt.bg/bnt3
[cli][debug]  stream=['best']
[cli][debug]  --loglevel=debug
[cli][info] Found matching plugin cdnbg for URL http://tv.bnt.bg/bnt3
[plugins.cdnbg][debug] Found iframe: https://i.cdn.bg/live/OQ70Ds9Lcp
error: Unable to validate response text: ValidationError(AnySchema):
  ValidationError(RegexSchema):
    Pattern 'sdata\\.src.*?=.*?(?P<q>[\\"\'])(?P<url>http.*?)(?P=q)' did not match <'<!doctype html>\n<html>\n\n<head>\n\n    <meta charset...>
  ValidationError(RegexSchema):
    Pattern <'(src|file): (?P<q>[\\"\'])(?P<url>(https?:)?//.+?m3u8....> did not match <'<!doctype html>\n<html>\n\n<head>\n\n    <meta charset...>
  ValidationError(RegexSchema):
    Pattern 'video src=(?P<url>http[^ ]+m3u8[^ ]*)' did not match <'<!doctype html>\n<html>\n\n<head>\n\n    <meta charset...>
  ValidationError(RegexSchema):
    Pattern 'source src=\\"(?P<url>[^\\"]+m3u8[^\\"]*)\\"' did not match <'<!doctype html>\n<html>\n\n<head>\n\n    <meta charset...>
  ValidationError(RegexSchema):
    Pattern '(?P<url>[^\\"]+geoblock[^\\"]+)' did not match <'<!doctype html>\n<html>\n\n<head>\n\n    <meta charset...>
```



Discussion:

Resolving patch:
diff --git a/src/streamlink/plugins/cdnbg.py b/src/streamlink/plugins/cdnbg.py
--- a/src/streamlink/plugins/cdnbg.py
+++ b/src/streamlink/plugins/cdnbg.py
@@ -85,7 +85,7 @@ def _get_streams(self):
             schema=validate.Schema(
                 validate.any(
                     self._find_url(
-                        re.compile(r"sdata\.src.*?=.*?(?P<q>[\"'])(?P<url>http.*?)(?P=q)")
+                        re.compile(r"sdata\.src.*?=.*?(?P<q>[\"'])(?P<url>.*?)(?P=q)")
                     ),
                     self._find_url(
                         re.compile(r"(src|file): (?P<q>[\"'])(?P<url>(https?:)?//.+?m3u8.*?)(?P=q)")


Test patch: