logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

nzz.py (1158B)


  1. import re
  2. from .common import InfoExtractor
  3. class NZZIE(InfoExtractor):
  4. _VALID_URL = r'https?://(?:www\.)?nzz\.ch/(?:[^/]+/)*[^/?#]+-ld\.(?P<id>\d+)'
  5. _TESTS = [{
  6. 'url': 'http://www.nzz.ch/zuerich/gymizyte/gymizyte-schreiben-schueler-heute-noch-diktate-ld.9153',
  7. 'info_dict': {
  8. 'id': '9153',
  9. },
  10. 'playlist_mincount': 6,
  11. }, {
  12. 'url': 'https://www.nzz.ch/video/nzz-standpunkte/cvp-auf-der-suche-nach-dem-mass-der-mitte-ld.1368112',
  13. 'info_dict': {
  14. 'id': '1368112',
  15. },
  16. 'playlist_count': 1,
  17. }]
  18. def _entries(self, webpage, page_id):
  19. for script in re.findall(r'(?s)<script[^>]* data-hid="jw-video-jw[^>]+>(.+?)</script>', webpage):
  20. settings = self._search_json(r'var\s+settings\s*=[^{]*', script, 'settings', page_id, fatal=False)
  21. if entry := self._parse_jwplayer_data(settings, page_id):
  22. yield entry
  23. def _real_extract(self, url):
  24. page_id = self._match_id(url)
  25. webpage = self._download_webpage(url, page_id)
  26. return self.playlist_result(self._entries(webpage, page_id), page_id)