5n6r

Новая программа для скачивания видео с сайта COUB!

Feb 3rd, 2017
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.32 KB | None | 0 0
  1. +-----------------------------------------------------+
  2. | Программа для скачивания видеороликов с сайта COUB  |
  3. | xCoub-DL версия 0.0.2 бета (с), 2017, 5n6r          |
  4. | Под MIT лицензией                                   |
  5. |-----------------------------------------------------+
  6. | Как использовать программу?                         |
  7. | 1) Зайдите не сайт видеохостинга coub.com           |
  8. | 2) Запустите программу xCoub-DL,                    |  
  9. |    дав команду в терминале:$ python3 xCoub-DL.py    |
  10. | 3) В правом верхнем углу ролика нажмите             |
  11. |    на "copy link", чтобы    скопировать ссылку на   |
  12. |    в буфер обмена,                                  |
  13. | 4) Затем, вставьте ссылку в программу, используя    |
  14. |    сочетание клавиш ctrl+v или просто нажмите на    |
  15. |    на поле ввода, правой кнопкой мыши.              |
  16. | 5) После этого кликните на кнопку "Скачать"...      |
  17. |    И все! Видеоролик  с сайта сохранится у вас      |
  18. |    на компе, в том место откуда была запущена       |
  19. |    программа xCoub-DL! Чтобы скачать новое видео,   |
  20. |    Нажмите на кнопку "Новая ссылка" и повторите все |
  21. |    пункты, начиная с 3-го.                          |
  22. +-----------------------------------------------------+
  23.  
  24.  
  25. #(c) 2017, coded 5n6r
  26. #!/usr/bin/env  python3
  27. from tkinter import *
  28. import requests,urllib.request,sys,json,re,os
  29. def mous(event):
  30.     try:
  31.         cb=app.clipboard_get()
  32.         ii.set(cb)
  33.     except:
  34.         cl()
  35. def runner():
  36.     i=ii.get()
  37.     if i!="":
  38.         if len(sys.argv)>1:
  39.             os.environ["http_proxy"]=sys.argv[1]
  40.         opener=urllib.request.build_opener()
  41.         opener.addheaders=[("User-agent","Mozilla/5.0")]
  42.         st=re.findall(r"/\w+$",i)
  43.         url="http://coub.com//api/v2/coubs"+str("".join(st))
  44.         r = requests.get(url)
  45.         s=r.json()
  46.         try:
  47.             htm5=s["file_versions"]["html5"]["video"]["high"]["url"]
  48.             n=s["file_versions"]["html5"]["video"]["high"]["size"]
  49.         except:
  50.             htm5=s["file_versions"]["html5"]["video"]["med"]["url"]
  51.             n=s["file_versions"]["html5"]["video"]["med"]["size"]
  52.         z=s["channel"]["title"]
  53.         x=s["permalink"]
  54.         txt2.set("Название ролика: "+s["title"][:30]+";\n")
  55.         txt2.set(txt2.get()+"Автор coub'a: "+z+";")
  56.         txt3.set("Размер файла: "+str(n)+" байт; \n")
  57.         client=opener.open(htm5)
  58.         f=open("video_"+str(x)+".mp4","wb")
  59.         f.write(client.read())
  60.         f.close()
  61. def cl()    :
  62.     app.clipboard_clear()
  63.     txt2.set("\n"+"")
  64.     txt3.set("\n"+"")
  65.     txt4.set("\n"+"")
  66.     ii.set("")
  67. app=Tk()
  68. app.title(chr(10029)*3+" xCoub-DL версия 0.0.2 бета "+chr(169)+" 2017, программирование 5n6r "+chr(10029)*3)
  69. app.geometry("590x180")
  70. app.resizable(0,0)
  71. fr0=Frame(app,bd=0,height=12)
  72. fr0.pack(padx=10,pady=10)
  73. fr1=Frame(fr0,bd=2,relief="groove")
  74. fr1.grid(row=0, column=0,pady=5,padx=5)
  75. fr2=Frame(fr0,bd=0)
  76. fr2.grid(row=1, column=0,pady=5,padx=5)
  77. fr3=Frame(fr0,bd=2,relief="groove")
  78. fr3.grid(row=2, column=0,pady=5,padx=5)
  79. ii=StringVar()
  80. ii.set("")
  81. txt2=StringVar()
  82. txt2.set("\n"+"")
  83. txt3=StringVar()
  84. txt3.set("\n"+"")
  85. txt4=StringVar()
  86. txt4.set("\n"+"")
  87. l=Label(fr1,text=">>> Ссылка на видео >>>",height=2)
  88. l.grid(row=0,column=0,pady=5,padx=5)
  89. e=Entry(fr1,textvariable=ii,bd=3,cursor="cross",width=40)
  90. e.focus()
  91. e.grid(row=0,column=1,pady=5,padx=5)
  92. l2=Label(fr2,textvariable=txt2)
  93. l2.grid(row=0,column=0,padx=1,pady=1)
  94. l3=Label(fr2,textvariable=txt3)
  95. l3.grid(row=0,column=1,padx=1,pady=1)
  96. l4=Label(fr2,textvariable=txt4)
  97. l4.grid(row=0,column=2,padx=1,pady=1)
  98. b1=Button(fr3,text="Скачать",command=runner,cursor="hand2")
  99. b1.grid(row=0,column=0,padx=3,pady=3)
  100. b2=Button(fr3,text="Новая ссылка",command=cl,cursor="hand2")
  101. b2.grid(row=0,column=1,padx=3,pady=3)
  102. b3=Button(fr3,text="Выход из программы",command=app.destroy,cursor="hand2")
  103. b3.grid(row=0,column=2,padx=3,pady=3)
  104. e.bind("<Button-3>",mous)
  105. app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment