atscaleconf.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import re
  2. from .common import InfoExtractor
  3. class AtScaleConfEventIE(InfoExtractor):
  4. _VALID_URL = r'https?://(?:www\.)?atscaleconference\.com/events/(?P<id>[^/&$?]+)'
  5. _TESTS = [{
  6. 'url': 'https://atscaleconference.com/events/data-scale-spring-2022/',
  7. 'playlist_mincount': 13,
  8. 'info_dict': {
  9. 'id': 'data-scale-spring-2022',
  10. 'title': 'Data @Scale Spring 2022',
  11. 'description': 'md5:7d7ca1c42ac9c6d8a785092a1aea4b55',
  12. },
  13. }, {
  14. 'url': 'https://atscaleconference.com/events/video-scale-2021/',
  15. 'playlist_mincount': 14,
  16. 'info_dict': {
  17. 'id': 'video-scale-2021',
  18. 'title': 'Video @Scale 2021',
  19. 'description': 'md5:7d7ca1c42ac9c6d8a785092a1aea4b55',
  20. },
  21. }]
  22. def _real_extract(self, url):
  23. playlist_id = self._match_id(url)
  24. webpage = self._download_webpage(url, playlist_id)
  25. return self.playlist_from_matches(
  26. re.findall(r'data-url\s*=\s*"(https?://(?:www\.)?atscaleconference\.com/videos/[^"]+)"', webpage),
  27. ie='Generic', playlist_id=playlist_id,
  28. title=self._og_search_title(webpage), description=self._og_search_description(webpage))