__init__.py 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. from __future__ import unicode_literals
  2. from .abc import ABCIE
  3. from .academicearth import AcademicEarthCourseIE
  4. from .addanime import AddAnimeIE
  5. from .adobetv import AdobeTVIE
  6. from .adultswim import AdultSwimIE
  7. from .aftonbladet import AftonbladetIE
  8. from .aljazeera import AlJazeeraIE
  9. from .alphaporno import AlphaPornoIE
  10. from .anitube import AnitubeIE
  11. from .anysex import AnySexIE
  12. from .aol import AolIE
  13. from .allocine import AllocineIE
  14. from .aparat import AparatIE
  15. from .appletrailers import AppleTrailersIE
  16. from .archiveorg import ArchiveOrgIE
  17. from .ard import ARDIE, ARDMediathekIE
  18. from .arte import (
  19. ArteTvIE,
  20. ArteTVPlus7IE,
  21. ArteTVCreativeIE,
  22. ArteTVConcertIE,
  23. ArteTVFutureIE,
  24. ArteTVDDCIE,
  25. ArteTVEmbedIE,
  26. )
  27. from .atresplayer import AtresPlayerIE
  28. from .atttechchannel import ATTTechChannelIE
  29. from .audiomack import AudiomackIE, AudiomackAlbumIE
  30. from .auengine import AUEngineIE
  31. from .azubu import AzubuIE
  32. from .bambuser import BambuserIE, BambuserChannelIE
  33. from .bandcamp import BandcampIE, BandcampAlbumIE
  34. from .bbccouk import BBCCoUkIE
  35. from .beeg import BeegIE
  36. from .behindkink import BehindKinkIE
  37. from .bet import BetIE
  38. from .bild import BildIE
  39. from .bilibili import BiliBiliIE
  40. from .blinkx import BlinkxIE
  41. from .bliptv import BlipTVIE, BlipTVUserIE
  42. from .bloomberg import BloombergIE
  43. from .bpb import BpbIE
  44. from .br import BRIE
  45. from .breakcom import BreakIE
  46. from .brightcove import BrightcoveIE
  47. from .buzzfeed import BuzzFeedIE
  48. from .byutv import BYUtvIE
  49. from .c56 import C56IE
  50. from .canal13cl import Canal13clIE
  51. from .canalplus import CanalplusIE
  52. from .canalc2 import Canalc2IE
  53. from .cbs import CBSIE
  54. from .cbsnews import CBSNewsIE
  55. from .ceskatelevize import CeskaTelevizeIE
  56. from .channel9 import Channel9IE
  57. from .chilloutzone import ChilloutzoneIE
  58. from .cinchcast import CinchcastIE
  59. from .clipfish import ClipfishIE
  60. from .cliphunter import CliphunterIE
  61. from .clipsyndicate import ClipsyndicateIE
  62. from .cloudy import CloudyIE
  63. from .clubic import ClubicIE
  64. from .cmt import CMTIE
  65. from .cnet import CNETIE
  66. from .cnn import (
  67. CNNIE,
  68. CNNBlogsIE,
  69. CNNArticleIE,
  70. )
  71. from .collegehumor import CollegeHumorIE
  72. from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE
  73. from .comcarcoff import ComCarCoffIE
  74. from .commonmistakes import CommonMistakesIE
  75. from .condenast import CondeNastIE
  76. from .cracked import CrackedIE
  77. from .criterion import CriterionIE
  78. from .crunchyroll import (
  79. CrunchyrollIE,
  80. CrunchyrollShowPlaylistIE
  81. )
  82. from .cspan import CSpanIE
  83. from .dailymotion import (
  84. DailymotionIE,
  85. DailymotionPlaylistIE,
  86. DailymotionUserIE,
  87. )
  88. from .daum import DaumIE
  89. from .dbtv import DBTVIE
  90. from .deezer import DeezerPlaylistIE
  91. from .dfb import DFBIE
  92. from .dotsub import DotsubIE
  93. from .dreisat import DreiSatIE
  94. from .drtuber import DrTuberIE
  95. from .drtv import DRTVIE
  96. from .dvtv import DVTVIE
  97. from .dump import DumpIE
  98. from .defense import DefenseGouvFrIE
  99. from .discovery import DiscoveryIE
  100. from .divxstage import DivxStageIE
  101. from .dropbox import DropboxIE
  102. from .ebaumsworld import EbaumsWorldIE
  103. from .echomsk import EchoMskIE
  104. from .ehow import EHowIE
  105. from .eighttracks import EightTracksIE
  106. from .einthusan import EinthusanIE
  107. from .eitb import EitbIE
  108. from .ellentv import (
  109. EllenTVIE,
  110. EllenTVClipsIE,
  111. )
  112. from .elpais import ElPaisIE
  113. from .empflix import EMPFlixIE
  114. from .engadget import EngadgetIE
  115. from .eporner import EpornerIE
  116. from .eroprofile import EroProfileIE
  117. from .escapist import EscapistIE
  118. from .everyonesmixtape import EveryonesMixtapeIE
  119. from .exfm import ExfmIE
  120. from .expotv import ExpoTVIE
  121. from .extremetube import ExtremeTubeIE
  122. from .facebook import FacebookIE
  123. from .faz import FazIE
  124. from .fc2 import FC2IE
  125. from .firedrive import FiredriveIE
  126. from .firstpost import FirstpostIE
  127. from .firsttv import FirstTVIE
  128. from .fivemin import FiveMinIE
  129. from .fktv import (
  130. FKTVIE,
  131. FKTVPosteckeIE,
  132. )
  133. from .flickr import FlickrIE
  134. from .folketinget import FolketingetIE
  135. from .fourtube import FourTubeIE
  136. from .foxgay import FoxgayIE
  137. from .foxnews import FoxNewsIE
  138. from .franceculture import FranceCultureIE
  139. from .franceinter import FranceInterIE
  140. from .francetv import (
  141. PluzzIE,
  142. FranceTvInfoIE,
  143. FranceTVIE,
  144. GenerationQuoiIE,
  145. CultureboxIE,
  146. )
  147. from .freesound import FreesoundIE
  148. from .freespeech import FreespeechIE
  149. from .freevideo import FreeVideoIE
  150. from .funnyordie import FunnyOrDieIE
  151. from .gamekings import GamekingsIE
  152. from .gameone import (
  153. GameOneIE,
  154. GameOnePlaylistIE,
  155. )
  156. from .gamespot import GameSpotIE
  157. from .gamestar import GameStarIE
  158. from .gametrailers import GametrailersIE
  159. from .gdcvault import GDCVaultIE
  160. from .generic import GenericIE
  161. from .giantbomb import GiantBombIE
  162. from .giga import GigaIE
  163. from .glide import GlideIE
  164. from .globo import GloboIE
  165. from .godtube import GodTubeIE
  166. from .goldenmoustache import GoldenMoustacheIE
  167. from .golem import GolemIE
  168. from .googleplus import GooglePlusIE
  169. from .googlesearch import GoogleSearchIE
  170. from .gorillavid import GorillaVidIE
  171. from .goshgay import GoshgayIE
  172. from .grooveshark import GroovesharkIE
  173. from .groupon import GrouponIE
  174. from .hark import HarkIE
  175. from .heise import HeiseIE
  176. from .hellporno import HellPornoIE
  177. from .helsinki import HelsinkiIE
  178. from .hentaistigma import HentaiStigmaIE
  179. from .hitbox import HitboxIE, HitboxLiveIE
  180. from .hornbunny import HornBunnyIE
  181. from .hostingbulk import HostingBulkIE
  182. from .hotnewhiphop import HotNewHipHopIE
  183. from .howcast import HowcastIE
  184. from .howstuffworks import HowStuffWorksIE
  185. from .huffpost import HuffPostIE
  186. from .hypem import HypemIE
  187. from .iconosquare import IconosquareIE
  188. from .ign import IGNIE, OneUPIE
  189. from .imdb import (
  190. ImdbIE,
  191. ImdbListIE
  192. )
  193. from .ina import InaIE
  194. from .infoq import InfoQIE
  195. from .instagram import InstagramIE, InstagramUserIE
  196. from .internetvideoarchive import InternetVideoArchiveIE
  197. from .iprima import IPrimaIE
  198. from .ivi import (
  199. IviIE,
  200. IviCompilationIE
  201. )
  202. from .izlesene import IzleseneIE
  203. from .jadorecettepub import JadoreCettePubIE
  204. from .jeuxvideo import JeuxVideoIE
  205. from .jove import JoveIE
  206. from .jukebox import JukeboxIE
  207. from .jpopsukitv import JpopsukiIE
  208. from .kankan import KankanIE
  209. from .keezmovies import KeezMoviesIE
  210. from .khanacademy import KhanAcademyIE
  211. from .kickstarter import KickStarterIE
  212. from .keek import KeekIE
  213. from .kontrtube import KontrTubeIE
  214. from .krasview import KrasViewIE
  215. from .ku6 import Ku6IE
  216. from .la7 import LA7IE
  217. from .laola1tv import Laola1TvIE
  218. from .lifenews import LifeNewsIE
  219. from .liveleak import LiveLeakIE
  220. from .livestream import (
  221. LivestreamIE,
  222. LivestreamOriginalIE,
  223. LivestreamShortenerIE,
  224. )
  225. from .lrt import LRTIE
  226. from .lynda import (
  227. LyndaIE,
  228. LyndaCourseIE
  229. )
  230. from .m6 import M6IE
  231. from .macgamestore import MacGameStoreIE
  232. from .mailru import MailRuIE
  233. from .malemotion import MalemotionIE
  234. from .mdr import MDRIE
  235. from .metacafe import MetacafeIE
  236. from .metacritic import MetacriticIE
  237. from .mgoon import MgoonIE
  238. from .minhateca import MinhatecaIE
  239. from .ministrygrid import MinistryGridIE
  240. from .mit import TechTVMITIE, MITIE, OCWMITIE
  241. from .mitele import MiTeleIE
  242. from .mixcloud import MixcloudIE
  243. from .mlb import MLBIE
  244. from .mpora import MporaIE
  245. from .moevideo import MoeVideoIE
  246. from .mofosex import MofosexIE
  247. from .mojvideo import MojvideoIE
  248. from .moniker import MonikerIE
  249. from .mooshare import MooshareIE
  250. from .morningstar import MorningstarIE
  251. from .motherless import MotherlessIE
  252. from .motorsport import MotorsportIE
  253. from .movieclips import MovieClipsIE
  254. from .moviezine import MoviezineIE
  255. from .movshare import MovShareIE
  256. from .mtv import (
  257. MTVIE,
  258. MTVServicesEmbeddedIE,
  259. MTVIggyIE,
  260. )
  261. from .muenchentv import MuenchenTVIE
  262. from .musicplayon import MusicPlayOnIE
  263. from .musicvault import MusicVaultIE
  264. from .muzu import MuzuTVIE
  265. from .myspace import MySpaceIE, MySpaceAlbumIE
  266. from .myspass import MySpassIE
  267. from .myvideo import MyVideoIE
  268. from .myvidster import MyVidsterIE
  269. from .naver import NaverIE
  270. from .nba import NBAIE
  271. from .nbc import (
  272. NBCIE,
  273. NBCNewsIE,
  274. )
  275. from .ndr import NDRIE
  276. from .ndtv import NDTVIE
  277. from .netzkino import NetzkinoIE
  278. from .nerdcubed import NerdCubedFeedIE
  279. from .newgrounds import NewgroundsIE
  280. from .newstube import NewstubeIE
  281. from .nfb import NFBIE
  282. from .nfl import NFLIE
  283. from .nhl import NHLIE, NHLVideocenterIE
  284. from .niconico import NiconicoIE, NiconicoPlaylistIE
  285. from .ninegag import NineGagIE
  286. from .noco import NocoIE
  287. from .normalboots import NormalbootsIE
  288. from .nosvideo import NosVideoIE
  289. from .novamov import NovaMovIE
  290. from .nowness import NownessIE
  291. from .nowvideo import NowVideoIE
  292. from .npo import (
  293. NPOIE,
  294. TegenlichtVproIE,
  295. )
  296. from .nrk import (
  297. NRKIE,
  298. NRKTVIE,
  299. )
  300. from .ntv import NTVIE
  301. from .nytimes import NYTimesIE
  302. from .nuvid import NuvidIE
  303. from .oktoberfesttv import OktoberfestTVIE
  304. from .ooyala import OoyalaIE
  305. from .openfilm import OpenFilmIE
  306. from .orf import (
  307. ORFTVthekIE,
  308. ORFOE1IE,
  309. ORFFM4IE,
  310. )
  311. from .parliamentliveuk import ParliamentLiveUKIE
  312. from .patreon import PatreonIE
  313. from .pbs import PBSIE
  314. from .phoenix import PhoenixIE
  315. from .photobucket import PhotobucketIE
  316. from .planetaplay import PlanetaPlayIE
  317. from .played import PlayedIE
  318. from .playfm import PlayFMIE
  319. from .playvid import PlayvidIE
  320. from .podomatic import PodomaticIE
  321. from .pornhd import PornHdIE
  322. from .pornhub import PornHubIE
  323. from .pornotube import PornotubeIE
  324. from .pornoxo import PornoXOIE
  325. from .promptfile import PromptFileIE
  326. from .prosiebensat1 import ProSiebenSat1IE
  327. from .pyvideo import PyvideoIE
  328. from .quickvid import QuickVidIE
  329. from .radiode import RadioDeIE
  330. from .radiobremen import RadioBremenIE
  331. from .radiofrance import RadioFranceIE
  332. from .rai import RaiIE
  333. from .rbmaradio import RBMARadioIE
  334. from .redtube import RedTubeIE
  335. from .restudy import RestudyIE
  336. from .reverbnation import ReverbNationIE
  337. from .ringtv import RingTVIE
  338. from .ro220 import Ro220IE
  339. from .rottentomatoes import RottenTomatoesIE
  340. from .roxwel import RoxwelIE
  341. from .rtbf import RTBFIE
  342. from .rte import RteIE
  343. from .rtlnl import RtlXlIE
  344. from .rtlnow import RTLnowIE
  345. from .rtp import RTPIE
  346. from .rts import RTSIE
  347. from .rtve import RTVEALaCartaIE, RTVELiveIE
  348. from .ruhd import RUHDIE
  349. from .rutube import (
  350. RutubeIE,
  351. RutubeChannelIE,
  352. RutubeEmbedIE,
  353. RutubeMovieIE,
  354. RutubePersonIE,
  355. )
  356. from .rutv import RUTVIE
  357. from .sapo import SapoIE
  358. from .savefrom import SaveFromIE
  359. from .sbs import SBSIE
  360. from .scivee import SciVeeIE
  361. from .screencast import ScreencastIE
  362. from .screencastomatic import ScreencastOMaticIE
  363. from .screenwavemedia import CinemassacreIE, ScreenwaveMediaIE, TeamFourIE
  364. from .servingsys import ServingSysIE
  365. from .sexu import SexuIE
  366. from .sexykarma import SexyKarmaIE
  367. from .shared import SharedIE
  368. from .sharesix import ShareSixIE
  369. from .sina import SinaIE
  370. from .slideshare import SlideshareIE
  371. from .slutload import SlutloadIE
  372. from .smotri import (
  373. SmotriIE,
  374. SmotriCommunityIE,
  375. SmotriUserIE,
  376. SmotriBroadcastIE,
  377. )
  378. from .snotr import SnotrIE
  379. from .sockshare import SockshareIE
  380. from .sohu import SohuIE
  381. from .soundcloud import (
  382. SoundcloudIE,
  383. SoundcloudSetIE,
  384. SoundcloudUserIE,
  385. SoundcloudPlaylistIE
  386. )
  387. from .soundgasm import SoundgasmIE
  388. from .southpark import (
  389. SouthParkIE,
  390. SouthparkDeIE,
  391. )
  392. from .space import SpaceIE
  393. from .spankwire import SpankwireIE
  394. from .spiegel import SpiegelIE, SpiegelArticleIE
  395. from .spiegeltv import SpiegeltvIE
  396. from .spike import SpikeIE
  397. from .sport5 import Sport5IE
  398. from .sportbox import SportBoxIE
  399. from .sportdeutschland import SportDeutschlandIE
  400. from .srmediathek import SRMediathekIE
  401. from .stanfordoc import StanfordOpenClassroomIE
  402. from .steam import SteamIE
  403. from .streamcloud import StreamcloudIE
  404. from .streamcz import StreamCZIE
  405. from .sunporno import SunPornoIE
  406. from .swrmediathek import SWRMediathekIE
  407. from .syfy import SyfyIE
  408. from .sztvhu import SztvHuIE
  409. from .tagesschau import TagesschauIE
  410. from .tapely import TapelyIE
  411. from .tass import TassIE
  412. from .teachertube import (
  413. TeacherTubeIE,
  414. TeacherTubeUserIE,
  415. )
  416. from .teachingchannel import TeachingChannelIE
  417. from .teamcoco import TeamcocoIE
  418. from .techtalks import TechTalksIE
  419. from .ted import TEDIE
  420. from .telebruxelles import TeleBruxellesIE
  421. from .telecinco import TelecincoIE
  422. from .telemb import TeleMBIE
  423. from .teletask import TeleTaskIE
  424. from .tenplay import TenPlayIE
  425. from .testurl import TestURLIE
  426. from .tf1 import TF1IE
  427. from .theonion import TheOnionIE
  428. from .theplatform import ThePlatformIE
  429. from .thesixtyone import TheSixtyOneIE
  430. from .thisav import ThisAVIE
  431. from .tinypic import TinyPicIE
  432. from .tlc import TlcIE, TlcDeIE
  433. from .tmz import TMZIE
  434. from .tnaflix import TNAFlixIE
  435. from .thvideo import (
  436. THVideoIE,
  437. THVideoPlaylistIE
  438. )
  439. from .toutv import TouTvIE
  440. from .toypics import ToypicsUserIE, ToypicsIE
  441. from .traileraddict import TrailerAddictIE
  442. from .trilulilu import TriluliluIE
  443. from .trutube import TruTubeIE
  444. from .tube8 import Tube8IE
  445. from .tudou import TudouIE
  446. from .tumblr import TumblrIE
  447. from .tunein import TuneInIE
  448. from .turbo import TurboIE
  449. from .tutv import TutvIE
  450. from .tvigle import TvigleIE
  451. from .tvp import TvpIE, TvpSeriesIE
  452. from .tvplay import TVPlayIE
  453. from .twentyfourvideo import TwentyFourVideoIE
  454. from .twitch import TwitchIE
  455. from .ubu import UbuIE
  456. from .udemy import (
  457. UdemyIE,
  458. UdemyCourseIE
  459. )
  460. from .unistra import UnistraIE
  461. from .urort import UrortIE
  462. from .ustream import UstreamIE, UstreamChannelIE
  463. from .vbox7 import Vbox7IE
  464. from .veehd import VeeHDIE
  465. from .veoh import VeohIE
  466. from .vesti import VestiIE
  467. from .vevo import VevoIE
  468. from .vgtv import VGTVIE
  469. from .vh1 import VH1IE
  470. from .vice import ViceIE
  471. from .viddler import ViddlerIE
  472. from .videobam import VideoBamIE
  473. from .videodetective import VideoDetectiveIE
  474. from .videolecturesnet import VideoLecturesNetIE
  475. from .videofyme import VideofyMeIE
  476. from .videomega import VideoMegaIE
  477. from .videopremium import VideoPremiumIE
  478. from .videott import VideoTtIE
  479. from .videoweed import VideoWeedIE
  480. from .vidme import VidmeIE
  481. from .vidzi import VidziIE
  482. from .vier import VierIE, VierVideosIE
  483. from .vimeo import (
  484. VimeoIE,
  485. VimeoAlbumIE,
  486. VimeoChannelIE,
  487. VimeoGroupsIE,
  488. VimeoLikesIE,
  489. VimeoReviewIE,
  490. VimeoUserIE,
  491. VimeoWatchLaterIE,
  492. )
  493. from .vimple import VimpleIE
  494. from .vine import (
  495. VineIE,
  496. VineUserIE,
  497. )
  498. from .viki import VikiIE
  499. from .vk import (
  500. VKIE,
  501. VKUserVideosIE,
  502. )
  503. from .vodlocker import VodlockerIE
  504. from .vporn import VpornIE
  505. from .vrt import VRTIE
  506. from .vube import VubeIE
  507. from .vuclip import VuClipIE
  508. from .vulture import VultureIE
  509. from .walla import WallaIE
  510. from .washingtonpost import WashingtonPostIE
  511. from .wat import WatIE
  512. from .wayofthemaster import WayOfTheMasterIE
  513. from .wdr import (
  514. WDRIE,
  515. WDRMobileIE,
  516. WDRMausIE,
  517. )
  518. from .webofstories import WebOfStoriesIE
  519. from .weibo import WeiboIE
  520. from .wimp import WimpIE
  521. from .wistia import WistiaIE
  522. from .worldstarhiphop import WorldStarHipHopIE
  523. from .wrzuta import WrzutaIE
  524. from .xbef import XBefIE
  525. from .xboxclips import XboxClipsIE
  526. from .xhamster import XHamsterIE
  527. from .xminus import XMinusIE
  528. from .xnxx import XNXXIE
  529. from .xvideos import XVideosIE
  530. from .xtube import XTubeUserIE, XTubeIE
  531. from .xxxymovies import XXXYMoviesIE
  532. from .yahoo import (
  533. YahooIE,
  534. YahooSearchIE,
  535. )
  536. from .yesjapan import YesJapanIE
  537. from .ynet import YnetIE
  538. from .youjizz import YouJizzIE
  539. from .youku import YoukuIE
  540. from .youporn import YouPornIE
  541. from .yourupload import YourUploadIE
  542. from .youtube import (
  543. YoutubeIE,
  544. YoutubeChannelIE,
  545. YoutubeFavouritesIE,
  546. YoutubeHistoryIE,
  547. YoutubePlaylistIE,
  548. YoutubeRecommendedIE,
  549. YoutubeSearchDateIE,
  550. YoutubeSearchIE,
  551. YoutubeSearchURLIE,
  552. YoutubeShowIE,
  553. YoutubeSubscriptionsIE,
  554. YoutubeTruncatedIDIE,
  555. YoutubeTruncatedURLIE,
  556. YoutubeUserIE,
  557. YoutubeWatchLaterIE,
  558. )
  559. from .zdf import ZDFIE, ZDFChannelIE
  560. from .zingmp3 import (
  561. ZingMp3SongIE,
  562. ZingMp3AlbumIE,
  563. )
  564. _ALL_CLASSES = [
  565. klass
  566. for name, klass in globals().items()
  567. if name.endswith('IE') and name != 'GenericIE'
  568. ]
  569. _ALL_CLASSES.append(GenericIE)
  570. def gen_extractors():
  571. """ Return a list of an instance of every supported extractor.
  572. The order does matter; the first extractor matched is the one handling the URL.
  573. """
  574. return [klass() for klass in _ALL_CLASSES]
  575. def list_extractors(age_limit):
  576. """
  577. Return a list of extractors that are suitable for the given age,
  578. sorted by extractor ID.
  579. """
  580. return sorted(
  581. filter(lambda ie: ie.is_suitable(age_limit), gen_extractors()),
  582. key=lambda ie: ie.IE_NAME.lower())
  583. def get_info_extractor(ie_name):
  584. """Returns the info extractor class with the given ie_name"""
  585. return globals()[ie_name + 'IE']