__init__.py 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  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 .rtlnl import RtlXlIE
  343. from .rtlnow import RTLnowIE
  344. from .rtp import RTPIE
  345. from .rts import RTSIE
  346. from .rtve import RTVEALaCartaIE, RTVELiveIE
  347. from .ruhd import RUHDIE
  348. from .rutube import (
  349. RutubeIE,
  350. RutubeChannelIE,
  351. RutubeEmbedIE,
  352. RutubeMovieIE,
  353. RutubePersonIE,
  354. )
  355. from .rutv import RUTVIE
  356. from .sapo import SapoIE
  357. from .savefrom import SaveFromIE
  358. from .sbs import SBSIE
  359. from .scivee import SciVeeIE
  360. from .screencast import ScreencastIE
  361. from .screencastomatic import ScreencastOMaticIE
  362. from .screenwavemedia import CinemassacreIE, ScreenwaveMediaIE, TeamFourIE
  363. from .servingsys import ServingSysIE
  364. from .sexu import SexuIE
  365. from .sexykarma import SexyKarmaIE
  366. from .shared import SharedIE
  367. from .sharesix import ShareSixIE
  368. from .sina import SinaIE
  369. from .slideshare import SlideshareIE
  370. from .slutload import SlutloadIE
  371. from .smotri import (
  372. SmotriIE,
  373. SmotriCommunityIE,
  374. SmotriUserIE,
  375. SmotriBroadcastIE,
  376. )
  377. from .snotr import SnotrIE
  378. from .sockshare import SockshareIE
  379. from .sohu import SohuIE
  380. from .soundcloud import (
  381. SoundcloudIE,
  382. SoundcloudSetIE,
  383. SoundcloudUserIE,
  384. SoundcloudPlaylistIE
  385. )
  386. from .soundgasm import SoundgasmIE
  387. from .southpark import (
  388. SouthParkIE,
  389. SouthparkDeIE,
  390. )
  391. from .space import SpaceIE
  392. from .spankwire import SpankwireIE
  393. from .spiegel import SpiegelIE, SpiegelArticleIE
  394. from .spiegeltv import SpiegeltvIE
  395. from .spike import SpikeIE
  396. from .sport5 import Sport5IE
  397. from .sportbox import SportBoxIE
  398. from .sportdeutschland import SportDeutschlandIE
  399. from .srmediathek import SRMediathekIE
  400. from .stanfordoc import StanfordOpenClassroomIE
  401. from .steam import SteamIE
  402. from .streamcloud import StreamcloudIE
  403. from .streamcz import StreamCZIE
  404. from .sunporno import SunPornoIE
  405. from .swrmediathek import SWRMediathekIE
  406. from .syfy import SyfyIE
  407. from .sztvhu import SztvHuIE
  408. from .tagesschau import TagesschauIE
  409. from .tapely import TapelyIE
  410. from .tass import TassIE
  411. from .teachertube import (
  412. TeacherTubeIE,
  413. TeacherTubeUserIE,
  414. )
  415. from .teachingchannel import TeachingChannelIE
  416. from .teamcoco import TeamcocoIE
  417. from .techtalks import TechTalksIE
  418. from .ted import TEDIE
  419. from .telebruxelles import TeleBruxellesIE
  420. from .telecinco import TelecincoIE
  421. from .telemb import TeleMBIE
  422. from .teletask import TeleTaskIE
  423. from .tenplay import TenPlayIE
  424. from .testurl import TestURLIE
  425. from .tf1 import TF1IE
  426. from .theonion import TheOnionIE
  427. from .theplatform import ThePlatformIE
  428. from .thesixtyone import TheSixtyOneIE
  429. from .thisav import ThisAVIE
  430. from .tinypic import TinyPicIE
  431. from .tlc import TlcIE, TlcDeIE
  432. from .tmz import TMZIE
  433. from .tnaflix import TNAFlixIE
  434. from .thvideo import (
  435. THVideoIE,
  436. THVideoPlaylistIE
  437. )
  438. from .toutv import TouTvIE
  439. from .toypics import ToypicsUserIE, ToypicsIE
  440. from .traileraddict import TrailerAddictIE
  441. from .trilulilu import TriluliluIE
  442. from .trutube import TruTubeIE
  443. from .tube8 import Tube8IE
  444. from .tudou import TudouIE
  445. from .tumblr import TumblrIE
  446. from .tunein import TuneInIE
  447. from .turbo import TurboIE
  448. from .tutv import TutvIE
  449. from .tvigle import TvigleIE
  450. from .tvp import TvpIE, TvpSeriesIE
  451. from .tvplay import TVPlayIE
  452. from .twentyfourvideo import TwentyFourVideoIE
  453. from .twitch import TwitchIE
  454. from .ubu import UbuIE
  455. from .udemy import (
  456. UdemyIE,
  457. UdemyCourseIE
  458. )
  459. from .unistra import UnistraIE
  460. from .urort import UrortIE
  461. from .ustream import UstreamIE, UstreamChannelIE
  462. from .vbox7 import Vbox7IE
  463. from .veehd import VeeHDIE
  464. from .veoh import VeohIE
  465. from .vesti import VestiIE
  466. from .vevo import VevoIE
  467. from .vgtv import VGTVIE
  468. from .vh1 import VH1IE
  469. from .vice import ViceIE
  470. from .viddler import ViddlerIE
  471. from .videobam import VideoBamIE
  472. from .videodetective import VideoDetectiveIE
  473. from .videolecturesnet import VideoLecturesNetIE
  474. from .videofyme import VideofyMeIE
  475. from .videomega import VideoMegaIE
  476. from .videopremium import VideoPremiumIE
  477. from .videott import VideoTtIE
  478. from .videoweed import VideoWeedIE
  479. from .vidme import VidmeIE
  480. from .vidzi import VidziIE
  481. from .vier import VierIE, VierVideosIE
  482. from .vimeo import (
  483. VimeoIE,
  484. VimeoAlbumIE,
  485. VimeoChannelIE,
  486. VimeoGroupsIE,
  487. VimeoLikesIE,
  488. VimeoReviewIE,
  489. VimeoUserIE,
  490. VimeoWatchLaterIE,
  491. )
  492. from .vimple import VimpleIE
  493. from .vine import (
  494. VineIE,
  495. VineUserIE,
  496. )
  497. from .viki import VikiIE
  498. from .vk import (
  499. VKIE,
  500. VKUserVideosIE,
  501. )
  502. from .vodlocker import VodlockerIE
  503. from .vporn import VpornIE
  504. from .vrt import VRTIE
  505. from .vube import VubeIE
  506. from .vuclip import VuClipIE
  507. from .vulture import VultureIE
  508. from .walla import WallaIE
  509. from .washingtonpost import WashingtonPostIE
  510. from .wat import WatIE
  511. from .wayofthemaster import WayOfTheMasterIE
  512. from .wdr import (
  513. WDRIE,
  514. WDRMobileIE,
  515. WDRMausIE,
  516. )
  517. from .webofstories import WebOfStoriesIE
  518. from .weibo import WeiboIE
  519. from .wimp import WimpIE
  520. from .wistia import WistiaIE
  521. from .worldstarhiphop import WorldStarHipHopIE
  522. from .wrzuta import WrzutaIE
  523. from .xbef import XBefIE
  524. from .xboxclips import XboxClipsIE
  525. from .xhamster import XHamsterIE
  526. from .xminus import XMinusIE
  527. from .xnxx import XNXXIE
  528. from .xvideos import XVideosIE
  529. from .xtube import XTubeUserIE, XTubeIE
  530. from .xxxymovies import XXXYMoviesIE
  531. from .yahoo import (
  532. YahooIE,
  533. YahooSearchIE,
  534. )
  535. from .yesjapan import YesJapanIE
  536. from .ynet import YnetIE
  537. from .youjizz import YouJizzIE
  538. from .youku import YoukuIE
  539. from .youporn import YouPornIE
  540. from .yourupload import YourUploadIE
  541. from .youtube import (
  542. YoutubeIE,
  543. YoutubeChannelIE,
  544. YoutubeFavouritesIE,
  545. YoutubeHistoryIE,
  546. YoutubePlaylistIE,
  547. YoutubeRecommendedIE,
  548. YoutubeSearchDateIE,
  549. YoutubeSearchIE,
  550. YoutubeSearchURLIE,
  551. YoutubeShowIE,
  552. YoutubeSubscriptionsIE,
  553. YoutubeTruncatedIDIE,
  554. YoutubeTruncatedURLIE,
  555. YoutubeUserIE,
  556. YoutubeWatchLaterIE,
  557. )
  558. from .zdf import ZDFIE, ZDFChannelIE
  559. from .zingmp3 import (
  560. ZingMp3SongIE,
  561. ZingMp3AlbumIE,
  562. )
  563. _ALL_CLASSES = [
  564. klass
  565. for name, klass in globals().items()
  566. if name.endswith('IE') and name != 'GenericIE'
  567. ]
  568. _ALL_CLASSES.append(GenericIE)
  569. def gen_extractors():
  570. """ Return a list of an instance of every supported extractor.
  571. The order does matter; the first extractor matched is the one handling the URL.
  572. """
  573. return [klass() for klass in _ALL_CLASSES]
  574. def list_extractors(age_limit):
  575. """
  576. Return a list of extractors that are suitable for the given age,
  577. sorted by extractor ID.
  578. """
  579. return sorted(
  580. filter(lambda ie: ie.is_suitable(age_limit), gen_extractors()),
  581. key=lambda ie: ie.IE_NAME.lower())
  582. def get_info_extractor(ie_name):
  583. """Returns the info extractor class with the given ie_name"""
  584. return globals()[ie_name + 'IE']