ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.27k stars 9.94k forks source link

Beeg Grabber not working #30775

Open Happybeel opened 2 years ago

Happybeel commented 2 years ago

Verbose log

/usr/bin/python3 /usr/local/bin/youtube-dl --verbose https://beeg.com/-0607688354383627 [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', 'https://beeg.com/-0607688354383627'] [debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.6.8 (CPython) - Linux-4.18.0-348.7.1.el8_5.x86_64-x86_64-with-centos-8.5.2111 [debug] exe versions: ffmpeg 4.2.5, ffprobe 4.2.5 [debug] Proxy map: {} [generic] -0607688354383627: Requesting header WARNING: Falling back on generic information extractor. [generic] -0607688354383627: Downloading webpage [generic] -0607688354383627: Extracting information ERROR: Unsupported URL: https://beeg.com/-0607688354383627 Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper return func(self, *args, **kwargs) File "/usr/local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info ie_result = ie.extract(url) File "/usr/local/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 534, in extract ie_result = self._real_extract(url) File "/usr/local/lib/python3.6/site-packages/youtube_dl/extractor/generic.py", line 3489, in _real_extract raise UnsupportedError(url) youtube_dl.utils.UnsupportedError: Unsupported URL: https://beeg.com/-0607688354383627

Description

Beeg Grabber isn't working anymore. It says Unsupported URL while url is working correctly.

Thank you.

dirkf commented 2 years ago

A load of changes at that site. Should be fixed by PR #29861 but apparently that also needs work now. After a small change:

# python -m youtube_dl -F -v 'https://beeg.com/-0607688354383627'
[debug] System config: []
[debug] User config: [u'-f', u'(best/bestvideo+bestaudio)[height<=?1080][fps<=?60][tbr<=?1900]']
[debug] Custom config: []
[debug] Command-line args: [u'-F', u'-v', u'https://beeg.com/-0607688354383627']
[debug] Encodings: locale ASCII, fs ASCII, out ASCII, pref ASCII
[debug] youtube-dl version 2021.06.06
[debug] Git HEAD: 041cd20a7
[debug] Python version 2.7.1 (CPython) - Linux-2.6.18-7.1-7405b0-smp-with-libc0
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[Beeg] 0607688354383627: Downloading webpage
[Beeg] 0607688354383627: Downloading JSON metadata
[info] Available formats for 607688354383627:
format code   extension  resolution note
fl_cdn_multi  mp4        unknown    
fl_cdn_240    mp4        240p       
fl_cdn_480    mp4        480p       
fl_cdn_720    mp4        720p       
fl_cdn_1080   mp4        1080p      (best)
barbertoclean21 commented 2 years ago

What you one say

Happybeel commented 2 years ago

After applying #29861 fix and typing you command I get:

'[root@` tmp]# /usr/bin/python3 -m youtube_dl -F -v 'https://beeg.com/-0607688354383627'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-F', '-v', 'https://beeg.com/-0607688354383627']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.6.8 (CPython) - Linux-4.18.0-348.7.1.el8_5.x86_64-x86_64-with-centos-8.5.2111
[debug] exe versions: ffmpeg 4.2.5, ffprobe 4.2.5
[debug] Proxy map: {}
[Beeg] 0607688354383627: Downloading webpage
[Beeg] 0607688354383627: Downloading JSON metadata
Traceback (most recent call last):
  File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/__main__.py", line 19, in <module>
    youtube_dl.main()
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/__init__.py", line 475, in main
    _real_main(argv)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/__init__.py", line 465, in _real_main
    retcode = ydl.download(all_urls)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2078, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 808, in extract_info
    return self.__extract_info(url, ie, download, extra_info, process)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/extractor/beeg.py", line 181, in _real_extract
    return self._old_real_extract(url, video_id, webpage)
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/extractor/beeg.py", line 88, in _old_real_extract
    for rcnt, api_path in reverse_enumerate(('', 'api.')):
  File "/usr/local/lib/python3.6/site-packages/youtube_dl/extractor/beeg.py", line 86, in reverse_enumerate
    return zip(reversed(zip(*enumerate(l))[0]), l)
TypeError: 'zip' object is not subscriptable'

Thank you.

dirkf commented 2 years ago

There's a Python2-3 issue with zip(). You can't get index 0 of the Py3 version: instead you have to get the next(...) of it; conversely you can't get the next(...) of the Py2 version. Options are to import future_builtins in Py2, making the definitions of zip() compatible, or to write next(iter(zip(...) or, less good, tuple(zip(...))[0], either of which works for both Py2 and 3.

But, as I noted, there are other (site-related) issues that prevent the PR from working. I'll update it soon.