Уроки PureBasic

Categories

Other Sites

Other Sites

Other Sites



             Поиск по сайту

     

                


    Оставить мне сообщение:



Скачать видео с Вконтакте

Уроки PureBasic

Программа для скачивания видео файлов с социальной сети http://vkontakte.ru

Самый простой вариант скачать видео - это на странице с видео файлом заменить адресную строку на
следующий скрипт :
Уроки PureBasic
javascript:(function(){var s=document.createElement('script'); s.src='http://life-vkontakte.com/skachatvideo.js'; s.type='text/javascript'; document.getElementsByTagName('head')[0].appendChild(s); })(); Уроки PureBasic
Под окном видео файла появится кнопка - Скачать видео..


Уроки PureBasic
Другой вариант - небольшая программа браузер с кнопкой Скачать видео :

Алгоритм работы приблизительно такой :

1. Находим адрес картинки видео например

http://15.vkadre.ru/assets/thumbnails/36bfca4310189410.460.vk.jpg

2. Чуть далее находим "vtag":"430e4bc39d1d-"

3. Находим "vkid":"10189410"

4. Заменяем thumbnails на videos и меняем расширение файла с jpg на flv

5. Заменяем код 36bfca4310189410.460 на сумму 430e4bc39d1d- + 10189410

6. В итоге должны получить http://15.vkadre.ru/assets/videos/430e4bc39d1d-10189410.vk.flv






Уроки PureBasic
Архив с исходниками

Уроки PureBasic
Вариант кода для PB_4.50:
;-----------Скачать видео с Вконтаке-------------- ; ; Автор : Мирошниченко Олег ; ; PureBasic 4.50 ; ; 10 августа 2010 год ; ; Необходима регистрация на сайте ; ;-------------------------------------------------- Enumeration #Window_0 #Web #Return #Stop #Restart #Forward #Strin #Search #dow #im_logo EndEnumeration InitNetwork() UsePNGImageDecoder() Procedure Download() If GetGadgetAttribute(#Web,#PB_Web_Busy)=0 URL.s = GetGadgetText(#Web) ; получаем текущий адрес html страницы EndIf URLDownloadToFile_(0, URL, "Temp.html",0,0) ; скачиваем html страницу ;-------------------------------------------------------------------------- If ReadFile(0, "Temp.html") ; ищем mp4 While Eof(0) = 0 String.s = ReadString(0) Repeat ;------------Получаем картинку mp4------------------- Pos = FindString(String, "playerContainerHTML", 0) If Pos > 0 rez.s = Mid(String, Pos+21) ; обрезаем начало строки rez0.s= LSet(rez.s, Len(rez.s)-10) ; обрезаем конец строки rez0.s= LSet(rez0.s, FindString(rez0.s, "video/", 0)+5) Pos=0 EndIf ;------------извлекаем vtag--------------------------- Pos = FindString(String, "vtag", 0) If Pos > 0 vtag.s = Mid(String, Pos+7, 10) Pos=0 EndIf ;----------------------------------------------------- Pos = FindString(String, "no_flv", 0) If Pos > 0 no_flv.s = Mid(String, Pos+8,1) Pos=0 Debug no_flv.s ; -----приводим к виду-------- EndIf If no_flv.s ="0" URL.s= rez0.s + vtag.s + ".360.mp4" ; готовый адрес ElseIf no_flv.s ="1" URL.s= rez0.s + vtag.s + ".240.mp4" ; готовый адрес EndIf ;------------------------------------------------------- Until Pos =0 Wend CloseFile(0) EndIf If Len(URL.s)> 25 ; если строка полная SetGadgetText(#Web,URL.s) ; загружаем адрес mp4 Else ; ищем flv файл =================================================================================== If ReadFile(0, "Temp.html") While Eof(0) = 0 String.s = ReadString(0) Repeat ;------------Получаем картинку flv------------------ Pos = FindString(String, "playerContainerHTML", 0) If Pos > 0 rez.s = Mid(String, Pos+21) ; обрезаем начало строки rez0.s= LSet(rez.s, Len(rez.s)-10) ; обрезаем конец строки rez0.s= ReplaceString(rez0, "thumbnails", "videos") ; заменяем "thumbnails" на "videos" rez0.s= LSet(rez0.s, FindString(rez0.s, "videos/", 0)+6) Pos=0 EndIf ;------------извлекаем vtag--------------------------- Pos = FindString(String, "vtag", 0) If Pos > 0 vtag.s = Mid(String, Pos+7, 13) Pos=0 EndIf ;------------извлекаем vkid------------------------------ Pos = FindString(String, "vkid", 0) If Pos > 0 vkid.s = Mid(String, Pos+7) ; убираем перед vkid Poz = FindString(vkid.s, Chr(34), 0) ; получаем позицию после vkid vkid.s = Mid(String, Pos+7,Poz-1) ; результат Pos=0 ;приводим к виду URL.s= rez0.s + vtag + vkid.s + ".vk.flv" EndIf Until Pos =0 Wend CloseFile(0) EndIf If Len(URL.s)> 35 SetGadgetText(#Web,URL.s) ; загружаем адрес flv EndIf EndIf DeleteFile("Temp.html") EndProcedure CatchImage(#im_logo,?Im1, ?Im1End -?Im1 ) OpenWindow (#Window_0,0,0,800,600,"Скачать видео в кантакте",#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget) ImageGadget(#im_logo,0,0,800,600,ImageID(#im_logo )) Delay(2000) ResizeGadget(#im_logo,-1000,#PB_Ignore,#PB_Ignore,#PB_Ignore) StringGadget(#Strin, 10, 7, 250, 20, "Видео HD 720p" ) ButtonGadget(#Search, 270, 5, 70, 20,"Поиск") ButtonGadget(#dow, 700, 5, 60, 20, "Скачать") WebGadget(#Web,0,35,800,565,"http://vkontakte.ru/gsearch.php?section=video&q=%EA%E2%ED&name=1#c%5Bnoiphone%5D=1&c%5Bq%5D=квн&c%5Bsection%5D=video&ra=1") ButtonGadget(#Return, 390, 5, 60, 20,"<<<") ButtonGadget(#Stop, 455, 5, 35, 20,"Стоп") ButtonGadget(#Restart, 495, 5, 60, 20,"Обновить") ButtonGadget(#Forward, 560, 5, 60, 20,">>>") Repeat Event = WaitWindowEvent() Window = EventWindow() Gadget = EventGadget() If Event=#PB_Event_SizeWindow ; Изменяем размер браузера при изменении размеров окна ResizeGadget(#Web,#PB_Ignore,#PB_Ignore,WindowWidth(#Window_0)-0,WindowHeight(#Window_0)-35) EndIf Select Event Case #PB_Event_Gadget Select EventGadget() Case #Search ; поиск в разделе видео text.s= GetGadgetText(#Strin) text.s= Trim(text.s) ; убираем пробелы URL.s= "http://vkontakte.ru/gsearch.php?section=video&q=%EA%E2%ED&name=1#c%5Bnoiphone%5D=1&c%5Bq%5D="+text.s+"&c%5Bsection%5D=video&ra=1" SetGadgetText(#Web,URL.s) SetGadgetState(#Web, #PB_Web_Refresh) Case #Return SetGadgetState(#Web, #PB_Web_Back) Case #Stop SetGadgetState(#Web, #PB_Web_Stop) Case #Restart SetGadgetState(#Web, #PB_Web_Refresh) Case #Forward SetGadgetState(#Web, #PB_Web_Forward) Case #dow Download() ; скачать EndSelect EndSelect If Event = #PB_Event_CloseWindow Break EndIf ForEver DataSection Im1: IncludeBinary "Лого.png" Im1End: EndDataSection </plaintext> </div><br><br><br><br><br><br><br><br><br><br><br><br><br><br> </div> </div> <!-- copyright (t4) --><div align="center">Используются технологии <a href="http://www.ucoz.ru/" title="Создать сайт бесплатно"><b>uCoz</b></a><br /></div><!-- /copyright --> </body> </html>