2014-10-21 5 views
5

क्या प्रोजेक्ट में एक पायथन लाइब्रेरी के रूप में यूट्यूब-डीएल का उपयोग करने के लिए कोई दस्तावेज है?यूट्यूब-डीएल पायथन लाइब्रेरी प्रलेखन

मुझे पता है कि मैं मुख्य वर्ग का उपयोग कर सकते हैं, लेकिन मैं किसी भी प्रलेखन या उदाहरण नहीं मिल सकता है ...

import youtube_dl 

ydl = youtube_dl.YoutubeDL(params) 

... ? 

उत्तर

4

आप github से एक संस्करण को डाउनलोड करते हैं आप स्फिंक्स-डॉक्स उत्पन्न कर सकते हैं जो उपयोगी है विकास के लिए। तो अजगर का उपयोग कर मदद समारोह आम तौर पर कुछ विचार क्या एक समारोह के प्रयोजन के

>>> import youtube_dl as yt 
>>> help(yt) 

इसके अलावा मैं एक उपयोगी उपकरण IPython लगता है %edit जादू का उपयोग कर कोड जा सकता है देता है।

%edit yt.main 

आपको सीधे मुख्य समारोह के स्रोत पर लाएगा।

2

समान प्रश्न: सूत्रों में इस फ़ाइल How to use youtube-dl from a python program

की जांच:

ydl_opts = { 
    'usenetrc': opts.usenetrc, 
    'username': opts.username, 
    'password': opts.password, 
    # ... all options list available in sources 
    'exec_cmd': opts.exec_cmd, 
} 

और फिर YoutubeDL उदाहरण बनाने के लिए: https://github.com/rg3/youtube-dl/blob/master/youtube_dl/__init__.py

आप विकल्पों dict (मानकों का प्रयोग करके मूल रूप से उत्पन्न कमांड लाइन से प्राप्त) की जरूरत है और स्वयं-वर्णित नामों के साथ कुछ विधियों को कॉल करें:

with YoutubeDL(ydl_opts) as ydl: 
    ydl.print_debug_header() 
    ydl.add_default_info_extractors() 

    # PostProcessors 
    # Add the metadata pp first, the other pps will copy it 
    if opts.addmetadata: 
     ydl.add_post_processor(FFmpegMetadataPP()) 
    if opts.extractaudio: 
     ydl.add_post_processor(FFmpegExtractAudioPP(preferredcodec=opts.audioformat, preferredquality=opts.audioquality, nopostoverwrites=opts.nopostoverwrites)) 
    if opts.recodevideo: 
     ydl.add_post_processor(FFmpegVideoConvertor(preferedformat=opts.recodevideo)) 
    if opts.embedsubtitles: 
     ydl.add_post_processor(FFmpegEmbedSubtitlePP(subtitlesformat=opts.subtitlesformat)) 
    if opts.xattrs: 
     ydl.add_post_processor(XAttrMetadataPP()) 
    if opts.embedthumbnail: 
     if not opts.addmetadata: 
      ydl.add_post_processor(FFmpegAudioFixPP()) 
     ydl.add_post_processor(AtomicParsleyPP()) 


    # Please keep ExecAfterDownload towards the bottom as it allows the user to modify the final file in any way. 
    # So if the user is able to remove the file before your postprocessor runs it might cause a few problems. 
    if opts.exec_cmd: 
     ydl.add_post_processor(ExecAfterDownloadPP(
      verboseOutput=opts.verbose, exec_cmd=opts.exec_cmd)) 

    # Update version 
    if opts.update_self: 
     update_self(ydl.to_screen, opts.verbose) 

    # Remove cache dir 
    if opts.rm_cachedir: 
     ydl.cache.remove() 

    # Maybe do nothing 
    if (len(all_urls) < 1) and (opts.load_info_filename is None): 
     if not (opts.update_self or opts.rm_cachedir): 
      parser.error(u'you must provide at least one URL') 
     else: 
      sys.exit() 

    try: 
     if opts.load_info_filename is not None: 
      retcode = ydl.download_with_info_file(opts.load_info_filename) 
     else: 
      retcode = ydl.download(all_urls) 
    except MaxDownloadsReached: 
     ydl.to_screen(u'--max-download limit reached, aborting.') 
     retcode = 101 
+1

कृपया सभी '__init __। Py' की प्रतिलिपि न लें; इसमें से अधिकांश बहुत कम उपयोग है। इसके बजाय, कृपया इस उद्देश्य के लिए आधिकारिक दस्तावेज़ीकरण का पालन करें, जैसा कि [मेरे उत्तर में] [http://stackoverflow.com/a/27495114/35070) रखा गया है। – phihag

3

official documentation now contains a section यूट्यूब-डीएल एम्बेड करने के बारे में। आप सही रास्ते पर हैं;

import youtube_dl 

with youtube_dl.YoutubeDL({}) as ydl: 
    ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc']) 

एक अच्छा न्यूनतम कार्यक्रम है।

संबंधित मुद्दे