You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

624 lines
17 KiB

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