Closed Lafixin closed 2 years ago
Well, I don't know if the universal way is exist.
I just open browser network console, filter URLs by "master.mpd" (which is XML video description), load page with video and click to play it a bit.
Then you can found URL (in the network console) like: https://kinescope.io/200812345/master.mpd
Here "200812345" it the video ID.
Also you can filter URLs for "kinescope" and try to look this ID in another URLs, or Referer header.
I found it filtering "master.mpd" and yeah, seems like it doesn't work for me, because the content is protected:
Get video description... Traceback (most recent call last):
File "/home/main/Downloads/kinescope-downloader.py", line 109, in <module>
mpd_raw = urllib.request.urlopen(f"{baseurl}/{video_id}/master.mpd").read()
File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
I guess there's no way to download the video, only first fragment manually, which is about 15mins in my case.
Should be fixed with commit bb02b4a
Thank you very much, it works!
So I see that this script works fine with video, which id is commented in .py file at the beginning as example, but I can't find it on browser network console. It should be on "Headers" tab? Can I actually find it for protected (I guess DRM) content?