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

FamilyMan

Client
Регистрация
14.09.2014
Сообщения
32
Благодарностей
1
Баллы
8
Не могу понять, как скачать видео с вк при помощи ZennoPoster. (Учитывая тот факт, что видео могут быть и по 10 минут).
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 251
Благодарностей
219
Баллы
63
Вытащить ссылку из кода с каких пор не вариант?
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43
Вытащить ссылку из кода с каких пор не вариант?
К сожалению с вк это не работает. Сегодня целый день на это убил. При запросе по API на сайте вк есть прямая ссылка на ролик, при запросе в зенке - нету. При иных запросах есть ссылки на видео - но одна часть этой ссылки, сгенерированная которая, отличается от той, которая есть на сайте вк при запросе по апи, в результате ответ - 404 страница не найдена. Пробовал и на мобильную версию заходить и оттуда вытаскивать, и полной версии. Но гет запрос всегда почему-то присылал немного не те урлы, что должны быть и которые вели бы на файл. А при заходе через браузер зенки - обновите флэш плеер. В source страницы при этом опять неверные урлы на ролик. Скачать через SaveFrom.net не выходит в зенке. В итоге: все возможные варианты испробованы, результата - 0.
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 251
Благодарностей
219
Баллы
63
К сожалению с вк это не работает. Сегодня целый день на это убил. При запросе по API на сайте вк есть прямая ссылка на ролик, при запросе в зенке - нету. При иных запросах есть ссылки на видео - но одна часть этой ссылки, сгенерированная которая, отличается от той, которая есть на сайте вк при запросе по апи, в результате ответ - 404 страница не найдена. Пробовал и на мобильную версию заходить и оттуда вытаскивать, и полной версии. Но гет запрос всегда почему-то присылал немного не те урлы, что должны быть и которые вели бы на файл. А при заходе через браузер зенки - обновите флэш плеер. В source страницы при этом опять неверные урлы на ролик. Скачать через SaveFrom.net не выходит в зенке. В итоге: все возможные варианты испробованы, результата - 0.
А чем сейвформ то не устроил? Он не дает ответ или не получилось разобрать?
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 036
Благодарностей
559
Баллы
113
С помощью CD выкачивалось, если не намудрили с защитой сейчас.
Из ссылки код видео фрейма
Код:
<video preload="metadata" class="videoplayer_media_provider" tabindex="-1" aria-hidden="true" src="https://cs12959.vkuservideo.net/u10137247/videos/0d9c8ba4ca.480.mp4?extra=aH9RoVUA-IxjDcL4EsbuFRzP-GHtYdIPNgYtMdU_bNGehgWHqI3z-wJBrUph8DGSOF3WD2VZOawpAuUOrI_R62-gv9MPdWH0gNwPb9JoL_SuVae_7sPRo9odfEj-aNvJDB3l3dUHL8g"></video>
из фрейма ссылка

Код:
https://cs12959.vkuservideo.net/u10137247/videos/0d9c8ba4ca.480.mp4?extra=aH9RoVUA-IxjDcL4EsbuFRzP-GHtYdIPNgYtMdU_bNGehgWHqI3z-wJBrUph8DGSOF3WD2VZOawpAuUOrI_R62-gv9MPdWH0gNwPb9JoL_SuVae_7sPRo9odfEj-aNvJDB3l3dUHL8g
п.с. через пару минут ссылка становится неактуальной
 
  • Спасибо
Реакции: avtostopshik

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 036
Благодарностей
559
Баллы
113
Принцип скачивания видео - описал, осталось повторить на зенно.
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43
Нет, нет, не получается. Объясню на пальцах:
1. Посылаем апи запрос:
string urlVideo = ZennoPoster.HttpGet("https://api.vk.com/method/video.search?q=" + titleVideo + "&sort=2&adult=1&count=1&access_token=" + project.Variables["get_url_token"].Value + "&v=5.73", project.Variables["proxy"].Value, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 30000);
Получаем ответ:
{"response":{"count":1,"items":[{"id":456241313,"owner_id":-43879004,"title":"ДЕЛАЕМ ШОКОЛАДНЫХ БАБОЧЕК","duration":24,"description":"","date":1521715863,"comments":0,"views":64558,"width":640,"height":640,"photo_130":"https:\/\/sun1-12.userapi.com\/c831409\/v831409239\/b580d\/vt8w-PexOlc.jpg","photo_320":"https:\/\/sun1-4.userapi.com\/c831409\/v831409239\/b580b\/ukdwTkSSBiU.jpg","photo_800":"https:\/\/sun1-11.userapi.com\/c831409\/v831409239\/b580a\/jb89FfXstZU.jpg","first_frame_320":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d18\/DppaDDfjwlM.jpg","first_frame_160":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d19\/JPBIOgQA_RI.jpg","first_frame_130":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d1a\/xR_b5v2ktxk.jpg","first_frame_800":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d17\/gLyE52IFHmM.jpg","player":"https:\/\/vk.com\/video_ext.php?oid=-43879004&id=456241313&hash=86eea91fd6cdde0c&__ref=vk.api&api_hash=152185907210dc9ecb21ff7c9e21_GMYTIMJUGU3TMMI","can_add":1}]}}
Из него выпаршиваем ссылку на страницу с роликом и делаем новый запрос:
urlVideo = new Regex(@"(?<=player\u0022:\u0022).*?(?=\u0022)").Match(urlVideo).Value.Replace(@"\","");
string htmlVideo = ZennoPoster.HttpGet(urlVideo, project.Variables["proxy"].Value, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 30000);
Дальше получаем html код страницы:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="/js/loader_nav5691860337286_3.js"></script>
<link rel="shortcut icon" href="/images/icons/favicons/fav_logo.ico?6" />
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="robots" content="noindex, nofollow" />
<title>VK | Video Ext</title>
<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>
<link rel="stylesheet" type="text/css" href="/css/al/fonts_cnt.css?5181750877" />
<link rel="stylesheet" type="text/css" href="/css/al/lite.css?44382325074" />
<script type="text/javascript">
var vk = {
ads_rotate_interval: 120000,
al: parseInt('3') || 4,
intnat: '1' ? true : false,
lang: 3,
rtl: parseInt('') || 0,
version: 5691860337286,
loginscheme: 'https',
ip_h: 'f352e4b2b9b2e46659',
id: parseInt('0'),
nodomain: '',
pr_tpl: "<div class=\"pr %cls%\" id=\"%id%\"><div class=\"pr_bt\"><\/div><div class=\"pr_bt\"><\/div><div class=\"pr_bt\"><\/div><\/div>",
audioInlinePlayerTpl: "<div class=\"audio_inline_player _audio_inline_player no_select\">\n <div class=\"audio_inline_player_right\">\n <div class=\"audio_inline_player_volume\"><\/div>\n <\/div>\n <div class=\"audio_inline_player_left\">\n <div class=\"audio_inline_player_progress\"><\/div>\n <\/div>\n<\/div>",
widget: 1,
css_dir: ''
}
var StaticFiles = {
'lite.js':{v:2497728057},
'lite.css':{v:44382325074},'fonts_cnt.css':{v:5181750877},'lang3_0.js':{v:3939},'videoview.js':{v:17970665596}
}
</script>
<script type="text/javascript" src="/js/al/lite.js?2497728057"></script>
<script type="text/javascript" src="/js/lang3_0.js?3939"></script><script type="text/javascript" src="/js/cmodules/web/videoview.js?17970665596"></script><base target="_blank"/>
</head>
<body style="background: #000; height: 100%;" class="is_rtl VK1 widget_body nofixed no_auth">
<div id="system_msg" class="fixed"></div>
<div id="utils"></div>
<div id="box_layer_bg" class="fixed"></div><div id="box_layer_wrap" class="scroll_fix_wrap fixed"><div id="box_layer"><div id="box_loader"><div class="pr pr_baw pr_medium" id="box_loader_pr"><div class="pr_bt"></div><div class="pr_bt"></div><div class="pr_bt"></div></div><div class="back"></div></div></div></div>
<div id="stl_left"></div><div id="stl_side"></div>
<a id="widget_focus_link" href="javascript: return;"></a>
<script type="text/javascript">domStarted();</script>
<div id="page_wrap"><div id="video_box_wrap-43879004_456241313" class="video_box_wrap">
<div class="video_box_msg">
<div class="video_box_msg_background" style="background-image:url(https://sun1-11.userapi.com/c831409/v831409239/b580a/jb89FfXstZU.jpg);"></div>
<div class="video_box_msg_text">The latest version of <a href="https://get.adobe.com/flash" target="_blank">Flash&nbsp;Player</a> is required to view videos.</div>
</div>
</div></div>
<div class="progress" id="global_prg"></div>
<script type="text/javascript">
if (window.devicePixelRatio >= 2) {
document.body.className += ' is_2x';
}
domReady();

addLangKeys({"global_emoji_cat_recent":"Frequently Used","global_emoji_cat_1":"Faces","global_emoji_cat_2":"Animals &amp; Nature","global_emoji_cat_3":"Hands &amp; People","global_emoji_cat_4":"Food &amp; Drinks","global_emoji_cat_5":"Activity","global_emoji_cat_6":"Travel &amp; Transport","global_emoji_cat_7":"Objects","global_emoji_cat_8":"Symbols","global_emoji_cat_9":"Flags"}, true);
addTemplates({"_":"_"});
window.initJsApi = function() {
var player = cur.player;
var origin = '*';
if (!player || !window.postMessage) return;
player.on(VideoPlayer.Events.STATE_CHANGE, function(newState, prevState) {
var event = newState;
if (event == 'playing') {
event = prevState == 'unstarted' ? 'started' : 'resumed';
}
switch(event) {
case 'started':
case 'resumed':
case 'paused':
case 'ended':
case 'error':
sendEvent(event, {time: player.curTime()});
break;
}
});
player.on(VideoPlayer.Events.MEDIA_TIMEUPDATE, function() {
sendEvent('timeupdate', {time: player.curTime(), duration: player.getDuration()});
});
player.on(VideoPlayer.Events.MEDIA_VOLUMECHANGE, function() {
sendEvent('volumechange', {volume: player.getVolume(), muted: player.isMuted()});
});
window.addEventListener('message', function(event) {
if (origin != '*' && event.origin !== origin) return;
switch (event.data.method) {
case 'play':
player.play();
break;
case 'pause':
player.pause();
break;
case 'seek':
player.seekTo(event.data.time, false);
break;
case 'set_volume':
player.setVolume(event.data.volume, false);
break;
case 'mute':
player.toggleMute(true, false);
break;
case 'unmute':
player.toggleMute(false, false);
break;
}
});
sendEvent('inited', {
time: player.curTime(),
duration: player.getDuration(),
volume: player.getVolume()
});
function sendEvent(event, data) {
parent.postMessage(extend({event: event}, data), origin);
}
};var playerParams = {"type":"vk","params":[{"lang_add":"Add to My Videos","lang_added":"Video added to My Videos","lang_share":"Share","lang_like":"Like","lang_donate":"Donate","lang_subscribe":"Subscribe","lang_subscribed":"Following","lang_volume_on":"Unmute","lang_volume_off":"Mute","lang_volume":"Volume","lang_hdsd":"Change Video Quality","lang_quality_auto":"Auto","lang_open_popup":"Expand","lang_fullscreen":"Full Screen","lang_window":"Minimize","lang_ads_link":"Advertiser&#39;s Site","lang_ads":"Ads","lang_ads_skip":"Skip ad","lang_ads_skip_time":"Skip ads in {time} s","lang_report_problem":"Report a problem..","lang_play":"Play","lang_pause":"Pause","lang_replay":"Replay","lang_next":"Next video","lang_next_cancel":"Cancel","lang_goto_Orig_video":"Go to Video","lang_goto_advertisers_site":"Go to the website","lang_buy_tickets":null,"lang_load_error":"An error occurred during loading. Please try again later.","lang_external_service_file_not_found":"This video is unavailable.<br>It might have been deleted from the third-party source.","lang_err_code":"Error code: {code}","lang_bad_browser":"Sorry, your browser isn&#39;t supported at the moment","lang_live":"Live","lang_live_starting_soon":"The stream has not started yet","lang_live_failed":"An error occurred while streaming","lang_live_wait_record":"The live stream has finished and will soon be available to replay","lang_live_user_sent_gift":["","sent a gift","sent a gift"],"lang_live_user_sent_supercomment":["","sent a super message","sent a super message"],"lang_live_download_app":"Download app","lang_autoplay_volume_hint":"�lick to turn on the sound","lang_autoplay_expand_hint":"Click to expand","lang_timed_button_goto":"�������","lang_timed_button_open":"Open","lang_timed_button_buy":"Buy","lang_timed_button_buy_tickets":"Buy tickets","lang_timed_button_checkin":"Enroll","lang_timed_button_install":"Install","lang_timed_button_contact":"Contact","lang_timed_button_fill":"Fill in","lang_timed_button_learn_more":"More","lang_cmenu_copy_video_link":"Copy video link","lang_cmenu_copy_timecode_link":"Copy link with timecode","lang_cmenu_copy_embed_code":"Copy embed code","lang_cmenu_enable_pip_mode":"Picture-in-picture","lang_cmenu_enable_loop":"Enable loop","lang_cmenu_disable_loop":"Disable loop","lang_cmenu_playback_speed":"Playback speed","lang_cmenu_rotate":"Rotate","lang_cmenu_report_error":"Report a problem..","lang_cmenu_copy_debug":"Copy debug info","lang_aria_videoplayer":"VK Video Player","lang_aria_volume_slider":"Volume slider","lang_aria_volume_muted":"Volume is muted","lang_aria_timeline_slider":"Time slider","lang_aria_timeline_value":"{time} (total duration {duration})","lang_aria_enter_fullscreen":"Enter full screen mode","lang_aria_exit_fullscreen":"Exit full screen mode","lang_aria_quality_current":"Current quality is {quality}","video_play_hd":"Watch in HD","video_stop_loading":"Stop Download","video_player_version":"VK Video Player","video_get_video_code":"Copy embed code","video_get_current_url":"Copy link with timecode","video_load_error":"An error occurred during loading. Please try again later.","goto_Orig_video":"Go to Video","vid":456241313,"oid":-43879004,"md_title":"������ ���������� �������","md_author":"������� ��������� | ������� �������","author_id":-43879004,"author_href":"\/sh.cook","author_photo":"https:\/\/pp.userapi.com\/c637429\/v637429627\/70206\/bvnur-_NHpc.jpg","view_hash":"ea797f8772ffa411d48ca65f86e1fd28","action_hash":"09080e6d5b7d5f88b7","embed_hash":"86eea91fd6cdde0c","duration":24,"t":"","vigo_host":"stats.vk-portal.net","vigo_cid":"05258bc60e5431a240ea1a0eb18be8d8","viewer_id":314145761,"post_id":null,"module":"embed","g":0,"a":0,"cis":1,"suggestions_sig":"c31c252fc6ea288e196697e17ced4dfb","error_stat_hash":"1521859114_8e1ecb089f8764b394","date":1521715863,"ads_safe":1,"ads_stat_hash":"491f0cd838b3a1e80b","ads_comscore_c3":"monetized","ads_type":1,"ads_cat":5,"ads_sitezone":3,"ads_referrer":"","ads_eid1":100549514,"ads_puid1":74,"ads_puid2":10,"ads_puid4":3,"ads_puid5":8,"ads_puid6":105,"ads_puid8":0,"ads_puid15":0,"ads_puid21":2,"ads_puid7":1,"ads_pl":21469,"ads_pl_type":"other","vsegs_size":5.000000,"vsegs_hash":"0bb0c04b6fa3a0aad9","aspect_ratio":1.000000,"show_suggestions":1,"is_embed":1,"nolikes":1,"hd":3,"hd_def":0,"angle":0.000000,"img_angle":0.000000,"repeat":0,"url240":"https:\/\/cs542606.vkuservideo.net\/10\/u267575493\/videos\/889a58db75.240.mp4?extra=RJHPZ6Wt1hkU7DMjjbs8Aa_X_Qk6Abdq1a9u12_tHTMqeqkb0x1Q7mxfpeJ7i36jYf1ucHlCoNTmV5q56tzgG-AuaFPPeD8Z8vmW5T4TpvG77fvGANnRsM2iO3yr_aw","url360":"https:\/\/cs542606.vkuservideo.net\/10\/u267575493\/videos\/889a58db75.360.mp4?extra=RJHPZ6Wt1hkU7DMjjbs8Aa_X_Qk6Abdq1a9u12_tHTMqeqkb0x1Q7mxfpeJ7i36jYf1ucHlCoNTmV5q56tzgG-AuaFPPeD8Z8vmW5T4TpvG77fvGANnRsM2iO3yr_aw","url480":"https:\/\/cs842001.vkuservideo.net\/5\/u267575493\/videos\/889a58db75.480.mp4?extra=RJHPZ6Wt1hkU7DMjjbs8Aa_X_Qk6Abdq1a9u12_tHTMqeqkb0x1Q7mxfpeJ7i36jYf1ucHlCoNTmV5q56tzgG-AuaFPPeD8Z8vmW5T4TpvG77fvGANnRsM2iO3yr_aw","url720":"https:\/\/cs842001.vkuservideo.net\/5\/u267575493\/videos\/889a58db75.720.mp4?extra=RJHPZ6Wt1hkU7DMjjbs8Aa_X_Qk6Abdq1a9u12_tHTMqeqkb0x1Q7mxfpeJ7i36jYf1ucHlCoNTmV5q56tzgG-AuaFPPeD8Z8vmW5T4TpvG77fvGANnRsM2iO3yr_aw","cache240":"https:\/\/cs1-69v4.vkuservideo.net\/p15\/31804787f129.240.mp4?extra=yXr0Dh2LCkOyEN9ytpeanXO0Y2sWz_Kdq5AhfhmAFIsNa_xSqp08Xn55rbdjToUB-7wqoGaGTBw7jq7HYXBIA1klkB-PGO0gpwaVhAG_Oxhgy4aVMHJ9FJinvMBQzaQ","cache360":"https:\/\/cs1-51v4.vkuservideo.net\/p14\/31804787f129.360.mp4?extra=cyAUlevthyrSH8YSnscfcsDUPx2d7NAGpz961dERRl8JlvEyDklGGOQLJy7erRi7_qzChcdkv0MLEFRBHJhSAeNxrmVeykYCkZqnMcQWkqHQK-p7ToBrJ-9LE8E8Geg","cache480":"https:\/\/cs1-51v4.vkuservideo.net\/p14\/31804787f129.480.mp4?extra=cyAUlevthyrSH8YSnscfcsDUPx2d7NAGpz961dERRl8JlvEyDklGGOQLJy7erRi7_qzChcdkv0MLEFRBHJhSAeNxrmVeykYCkZqnMcQWkqHQK-p7ToBrJ-9LE8E8Geg","cache720":"https:\/\/cs9-4v4.vkuservideo.net\/p3\/31804787f129.720.mp4?extra=ZLcl9HpwZ-yKmkUCOfxCUuyaRN1zQkH8lYdsFssw2CGcYwrdTHdCSwNeh0Jj_hDidjfFwYsY72OaeGScg60rGzavIJqFpHgneqpmhfWOdoPvOpnj0wXF_39J0jsgdOM","hls":"https:\/\/vk.com\/video_hls.php?dirs%5B240%5D=https%3A%2F%2Fcs542606.vkuservideo.net%2F10%2Fu267575493%2Fvideos%2F&dirs%5B360%5D=https%3A%2F%2Fcs542606.vkuservideo.net%2F10%2Fu267575493%2Fvideos%2F&dirs%5B480%5D=https%3A%2F%2Fcs842001.vkuservideo.net%2F5%2Fu267575493%2Fvideos%2F&dirs%5B720%5D=https%3A%2F%2Fcs842001.vkuservideo.net%2F5%2Fu267575493%2Fvideos%2F&path=5%2Fu267575493%2Fvideos%2F&extra=RJHPZ6Wt1hkU7DMjjbs8Aa_X_Qk6Abdq1a9u12_tHTMqeqkb0x1Q7mxfpeJ7i36jYf1ucHlCoNTmV5q56tzgG-AuaFPPeD8Z8vmW5T4TpvG77fvGANnRsM2iO3yr_aw&c_extra=-THqwrtnHPkWTdMnvE8VyI0INN-u6Ua1NrBciB7t96Lu1rkt2O8QY8bdXCbNvzqao4HWsQ6uYFSWEnUmNjXkgofdJe7jscBii7xvfl39Vdp7dYR6vunlcUS6VKVKKr4&video=-43879004_456241313&tag=889a58db75&c_tag=31804787f129","hls_raw":"#EXTM3U\n#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=312320,RESOLUTION=240x240\nhttps:\/\/cs1-69v4.vkuservideo.net\/video\/hls\/p15\/31804787f129\/index-f1-v1-a1.m3u8?extra=yXr0Dh2LCkOyEN9ytpeanXO0Y2sWz_Kdq5AhfhmAFIsNa_xSqp08Xn55rbdjToUB-7wqoGaGTBw7jq7HYXNIHhghkx2EHe8lowSSgwG8PRRkzIbHNSp6R5ygv8pfzab1tG4\n#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=412672,RESOLUTION=360x360\nhttps:\/\/cs1-51v4.vkuservideo.net\/video\/hls\/p14\/31804787f129\/index-f2-v1-a1.m3u8?extra=cyAUlevthyrSH8YSnscfcsDUPx2d7NAGpz961dERRl8JlvEyDklGGOQLJy7erRi7_qzChcdkv0MLEFRBHJtSHKJ1rWdVz0QHlZigNsQVlK3ULOopS9hsdOtMEMszGeq-iRc\n#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=670720,RESOLUTION=480x480\nhttps:\/\/cs1-51v4.vkuservideo.net\/video\/hls\/p14\/31804787f129\/index-f3-v1-a1.m3u8?extra=cyAUlevthyrSH8YSnscfcsDUPx2d7NAGpz961dERRl8JlvEyDklGGOQLJy7erRi7_qzChcdkv0MLEFRBHJtSHKJ1rWdVz0QHlZigNsQVlK3ULOopS9hsdOtMEMszGeq-iRc\n#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1097728,RESOLUTION=640x640\nhttps:\/\/cs9-4v4.vkuservideo.net\/video\/hls\/p3\/31804787f129\/index-f4-v1-a1.m3u8?extra=ZLcl9HpwZ-yKmkUCOfxCUuyaRN1zQkH8lYdsFssw2CGcYwrdTHdCSwNeh0Jj_hDidjfFwYsY72OaeGScg64rBnerI5iOoXoifqhhgvWNcI_rPZmx1l3CrHtO0TEvdOETFAU\n","jpg":"https:\/\/sun1-11.userapi.com\/c831409\/v831409239\/b580a\/jb89FfXstZU.jpg","timeline_thumbs":"75|75|10|100|24|https:\/\/pp.userapi.com\/c846417\/v846417507\/6ae2\/_qlKmSosa2c.jpg","first_frame_320":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d18\/DppaDDfjwlM.jpg","first_frame_160":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d19\/JPBIOgQA_RI.jpg","first_frame_130":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d1a\/xR_b5v2ktxk.jpg","first_frame_800":"https:\/\/pp.userapi.com\/c846121\/v846121507\/6d17\/gLyE52IFHmM.jpg","is_yandex":0}]};
var container = ge('video_box_wrap-43879004_456241313');
VideoInitializer.initPlayer(container, playerParams.type, playerParams.params);window.resolution = 0;
window.playerCallback = {
randomNumber: Math.round(Math.random() * 1000000000),
scoreCardCounter: function () {
// vkImage().src = vk.loginscheme + '://b.scorecardresearch.com/p?c1=1&c2=13765216&c5=06&rn=' + Math.round(Math.random() * 1000000000);
},
onVideoPlayProgress: function(oid, vid, hash, time_progress, time_total) {
var rawId = oid+'_'+vid;
if (time_progress < 5000 && window.tnsStart != rawId) {
playerCallback.scoreCardCounter();
window.tnsStart = rawId;
} else if (time_progress > (time_total / 2) && window.tnsEnd != rawId) {
window.tnsEnd = rawId;
}
},
incViewCounter: function(oid, vid, hash, currRes, maxRes, player, type) {
ajax.post('/al_video.php', {
act: 'inc_view_counter',
oid: oid,
vid: vid,
hash: hash,
curr_res: currRes,
max_res: maxRes,
player: player || 'flash',
type: type,
embed: 1,
yv: 0
}, {});
},
rotateVideo: function(oid, vid, angle, hash) {
ajax.post('al_video.php', {
act: 'rotate_video',
oid: oid,
vid: vid,
angle: angle,
hash: hash
}, {});
},
onVideoResolutionChanged: function(oid, vid, hash, resolution) {
window.resolution = resolution;
},
onInitialized: function() {
if (1) {
vkImage().src = '//www.tns-counter.ru/V13a****pladform_ru/ru/CP1251/tmsec=pladform_videovk-playerload/' + irand(1, 1e9);
} else {
vkImage().src = '//www.tns-counter.ru/V13a****pladform_ru/ru/CP1251/tmsec=platform_videovk-playerload/' + irand(1, 1e9);
}
if (0) {
vkImage().src = '//www.tns-counter.ru/V13a****vk_kz/ru/CP1251/tmsec=vkkz_videoloading/' + irand(1, 1e9);
}
window.initJsApi && initJsApi();
},
onVideoPlayStarted: function(oid, vid, hash) {
ajax.post('al_video.php', {
act: 'video_view_started',
oid: oid,
vid: vid,
hash: hash,
quality: window.resolution || 0,
embed: 1,
yv: 0,
player_view_type: 'embed'
}, {});
if (1) {
vkImage().src = '//www.tns-counter.ru/V13a****pladform_ru/ru/CP1251/tmsec=pladform_videovk-playerstart/' + irand(1, 1e9);
} else {
vkImage().src = '//www.tns-counter.ru/V13a****pladform_ru/ru/CP1251/tmsec=platform_videovk-playerstart/' + irand(1, 1e9);
}
if (0) {
vkImage().src = '//www.tns-counter.ru/V13a****vk_kz/ru/CP1251/tmsec=vkkz_videostart/' + irand(1, 1e9);
}
},
onVideoPlayFinished: function() {
if (1) {
vkImage().src = '//www.tns-counter.ru/V13a****pladform_ru/ru/CP1251/tmsec=pladform_videovk-playerend/' + irand(1, 1e9);
} else {
vkImage().src = '//www.tns-counter.ru/V13a****pladform_ru/ru/CP1251/tmsec=platform_videovk-playerend/' + irand(1, 1e9);
}
if (0) {
vkImage().src = '//www.tns-counter.ru/V13a****vk_kz/ru/CP1251/tmsec=vkkz_videoend/' + irand(1, 1e9);
}
},
onVideoAdsLoadStarted: function() {
vkImage().src = '//www.tns-counter.ru/V13a****vk_com/ru/CP1251/tmsec=vk_videoload-license/' + irand(1, 1e9);
},
onVideoAdsPlayStarted: function() {
vkImage().src = '//www.tns-counter.ru/V13a****vk_com/ru/CP1251/tmsec=vk_videostart-license/' + irand(1, 1e9);
},
onVideoAdsPlayFinished: function() {
vkImage().src = '//www.tns-counter.ru/V13a****vk_com/ru/CP1251/tmsec=vk_videoend-license/' + irand(1, 1e9);
}
};
function videoCallback(params) {
var method = params.shift();
if (playerCallback[method]) {
playerCallback[method].apply(null, params);
} else if (window.Videoview && Videoview.playerCallback[method]) {
Videoview.playerCallback[method].apply(Videoview, params);
} else {
throw Error('Unregistered player callback: ' + method);
}
}
cur.mvOpts = {
oid: -43879004,
vid: 456241313
};;vk.id = 0

</script>
</body>
</html>
В этом коде много ссылок на видео разного разрешения. Выпаршиваем айди видео (43879004_456241313) для следующего запроса:
string partVideo = new Regex(@"(?<=video_box_wrap).*?(?='\);-)", RegexOptions.RightToLeft).Match(htmlVideo).Value;
Если открыть видео в обычном браузере, в полной версии, то ссылка будет такого вида:
https://vk.com/video-43879004_456241313
Однако скачать видео можно с мобильной версии, для этого просто в урл подставим нужную букву и спокойно перейдём на страницу:
https://m.vk.com/video-43879004_456241313
Так вот, следующий запрос я уже делал в обычном экшене гет запроса, чтобы убедиться что всё ок и написать это в коде. Получил такой ответ:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
class="vk vk_js_no vk_flex_no r d h vk_appAuth_no"
>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="MobileOptimized" content="176" />
<meta name="HandheldFriendly" content="True" />
<meta name="theme-color" content="#5181b8" />
<base id="base">
<meta name="robots" content="noindex,nofollow" /><meta http-equiv="origin-trial" data-feature="getInstalledRelatedApps" data-expires="2018-01-30" content="AqnBW3j/m56zAZN0fBjy5CYB0Z+nCthDicsVAa+nub6HQaZ2JaRPv8KZhidJHoyt/kmyGoAYcnby1QXbPjwbSwAAAABfeyJvcmlnaW4iOiJodHRwczovL3ZrLmNvbTo0NDMiLCJmZWF0dXJlIjoiSW5zdGFsbGVkQXBwIiwiZXhwaXJ5IjoxNTE3MjcwNDAwLCJpc1N1YmRvbWFpbiI6dHJ1ZX0=">
<title>Video</title>
<link rel="shortcut icon" href="/images/icons/favicons/fav_logo.ico?8"></link>
<script>
(function() {
window.isMVK = true;
window.isNewMail = false;
window.isNewHeader = true;
window.audioSubscribe = false;
var vkElem = document.querySelector('.vk');
var vkClass = vkElem.getAttribute('class');
var supports = {
js: true,
flex: window.CSS && CSS.supports && (
CSS.supports('display', 'flex') ||
CSS.supports('display', '-webkit-flex') ||
CSS.supports('display', '-ms-flexbox')
)
};
supports.js && (vkClass = vkClass.replace('vk_js_no', 'vk_js_yes'));
supports.flex && (vkClass = vkClass.replace('vk_flex_no', 'vk_flex_yes'));
vkElem.setAttribute('class', vkClass);
})();
</script>
<script type="text/javascript">
<!--
(function(k,a,d,e,f){function l(){var c=function(){var b=!1;try{b=new XMLHttpRequest}catch(a){try{b=new ActiveXObject("Msxml2.XMLHTTP")}catch(d){try{b=new ActiveXObject("Microsoft.XMLHTTP")}catch(c){b=!1}}}return b?e:f}(),g=function(){var b=k.createElement("div");b.innerHTML='<input type="file" />';b=b.getElementsByTagName("input")[0];return"file"!=b.type||b.disabled?f:e}(),h="ontouchstart"in a?e:f,m;try{m=typeof navigator.geolocation!==d?e:typeof a.google!==d&&typeof google.gears!==d?e:typeof device!==d&&typeof device.getServiceObject!==d?e:typeof Mojo!==d&&"Mojo.Service.Request"!==typeof Mojo.Service.Request?e:f}catch(p){m=f}var l=function(b){try{var d=a.Audio?new Audio:k.createElement("audio");if(d.canPlayType&&d.canPlayType(b)&&"no"!=d.canPlayType(b))return e}catch(c){}return f}("audio/mpeg"),n=function(b){try{for(var a=k.createElement("div"),c=0,g=["webkit","Moz","ms","O",""],h=g.length;c<h;c++){var l=g[c],m=l?l+b:b.toLowerCase();if(typeof a.style[m]!==d)return e}return f}catch(n){return f}}("Transform");return c+g+h+m+l+n+((a.XMLHttpRequest||a.XDomainRequest)&&(a.FormData||a.FileReader&&(a.XMLHttpRequest&&XMLHttpRequest.sendAsBinary||a.ArrayBuffer&&a.Uint8Array&&(a.MozBlobBuilder||a.WebKitBlobBuilder||a.BlobBuilder)))?e:f)}var c=a.screen,g=c.width||0,c=c.height||0,n=a.devicePixelRatio||1,p=(k.cookie.match(/(^|;\s+)remixmdevice=([^;]+)/)||[])[2]||"",h=p.split("/");p&&g==h[0]&&c==h[1]&&7==h[3].length||(g=[g,c,n,l()].join("/"),k.cookie="remixmdevice=; expires="+(new Date(0)).toUTCString()+"; path=/",k.cookie="remixmdevice="+g+"; expires="+(new Date((new Date).getTime()+7776E6)).toUTCString()+"; path=/; domain=.vk.com",location.replace(location.toString()))})(document,window,"undefined","!","-");!function(o,a){var e=o.hash||"",t=e.substr(2);if("#/"==e.substr(0,2)){var i=window.locDomain,n=new Date;n.setTime(n.getTime()+864e5);var r="; expires="+n.toGMTString();document.cookie=["remixtmp_hash_nav","=",o.href,r,"; path=/",i?"; domain=."+i:""].join(""),!a&&(t.match(/^\/*(away|login)(\.php)?([^a-z0-9\.]|$)/)&&(t=""),o.replace(o.protocol+"//"+o.host+"/"+t))}}(location);setTimeout(function(){!location.hash&&window.scrollTo(0,/android/i.test(navigator.userAgent)?1:0)},0);
//-->
</script>
<link type="text/css" rel="stylesheet" href="/css/s_cf.css?723"></link>
<link type="text/css" rel="stylesheet" media="only screen" href="/css/s_yzg.css?196"></link>
<link rel="manifest" href="/manifest.webapp" />
<link rel="canonical" href="https://vk.com/video-43879004_456241313"></link>
<link rel="alternate" href="android-app://com.vkontakte.android/vkontakte/m.vk.com/video-43879004_456241313" />
</head>
<body id="vk" class="vk__page _ivk _touch _hfixed vk_stickers_hints_support_no opera_mini_no vk_al_no">
<div class="layout">
<div class="layout__header mhead" id="vk_head">
<div class="hb_wrap">
<div class="hb_btn">&nbsp;</div>
</div>
</div>
<div class="layout__body " id="vk_wrap">
<div class="layout__leftMenu" id="l">
</div>
<div class="layout__basis" id="m">
<div class="basis">
<div class="basis__header mhead" id="mhead"> <a
class="header__left hb_wrap mhb_home mhb_vkhome"
aria-label="Menu"
href="/" accesskey="*"
>
<div class="hb_btn mhi_home mhi_vkhome">&nbsp;</div>
</a>
<h1 class="header__center hb_wrap mhb_back">
<a
class="header__back al_back"
href="/videos-43879004"
accesskey="0"
aria-label="Back"
></a>
<span class="header__title hb_btn mh_header mhi_back">Video</span>
</h1>
<a href="/login?to=dmlkZW8tNDM4NzkwMDRfNDU2MjQxMzEz" class="hb_wrap mhb_notify" accesskey="#">
<div class="hb_btn">
<em class="mh_btn_label">log in</em>
</div>
</a></div>
<div class="basis__content mcont" id="mcont"><div class="pcont">
<div class="media_view video_view">
<div class="vv_summary">ДЕЛАЕМ ШОКОЛАДНЫХ БАБОЧЕК</div>
<div class="vv_body"><video class="vv_inline_video" preload="none" controls="controls" poster="https://sun1-11.userapi.com/c831409/v831409239/b580a/jb89FfXstZU.jpg" controlsList="nodownload">
<source src="https://cs1-69v4.vkuservideo.net/p15/31804787f129.240.mp4?extra=yXr0Dh2LCkOyEN9ytpeanXO0Y2sWz_Kdq5AhfhmAFIsNa_xSqp08Xn55rbdjToUB-7wqoGaGTBw7jq7HYXBIClYtlRqMHe4noQSRggS_OBZgy93IOCUuR8ajtsoN" type="video/mp4"></source>
<img src="https://sun1-11.userapi.com/c831409/v831409239/b580a/jb89FfXstZU.jpg" class="vv_img" alt="">
<div class="vv_not_support">Unfortunately, your device cannot playback this video</div>
</video></div>
<div class="like_box bl_cont">
<div class="mv_details">
<div class="vv_views">64578 views</div>
<dl class="si_row"><dt>Uploaded by:</dt><dd><a href="/sh.cook">Шедевры кулинарии | Простые рецепты</a></dd></dl>
<div class="vi_values"><span class="item_date">Added on 22 March 2018</span></div>
</div>
<ul class="mv_actions"></ul>
</div>
</div>
<div class="comments_wrap bl_cont"></div>
</div></div>
<div class="basis__footer mfoot" id="mfoot"><div class="pfoot">
<ul id="footer_menu" class="footer_menu">
<li class="fm_row"><a class="fm_item" href="/">Home</a></li>
<li class="fm_row"><a id="fv_link" class="fm_item fv_link" href="https://vk.com/video-43879004_456241313?_fm=1&_fm2=1">Full version</a></li>
</ul>
</div></div>
<div class="_cntrs" style="height:0;overflow:hidden;">
<img width="1" height="1" src="//counter.yadro.ru/hit?uhttps%3A%2F%2Fm.vk.com%2Fvideo-43879004_456241313;r;86844972" alt="" align="left" />
<img width="1" height="1" src="//sb.scorecardresearch.com/p?c1=2&c2=13765216&c3=&c4=https%3A%2F%2Fm.vk.com%2Fvideo-43879004_456241313&c5=&c9=&c15=&cv=2.0&cj=1&rn=86844972" alt="" align="left" />
<img src="//top-fwz1.mail.ru/counter?id=2579437;pid=0;r=" style="border:0;" height="1" width="1" />
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
<!--
parent&&parent!=window&&(document.getElementsByTagName('body')[0].innerHTML='');
//-->
</script>
<div id="vk_utils"></div>
<div id="z"></div>
<div id="vk_bottom"></div>
</body>
</html>
Если посмотреть в код, то там только одна ссылка на видео:
https://cs1-69v4.vkuservideo.net/p15/31804787f129.240.mp4?extra=yXr0Dh2LCkOyEN9ytpeanXO0Y2sWz_Kdq5AhfhmAFIsNa_xSqp08Xn55rbdjToUB-7wqoGaGTBw7jq7HYXBIClYtlRqMHe4noQSRggS_OBZgy93IOCUuR8ajtsoN
И вот она то и ведёт на страницу 404. Всё. Поэтому я и говорю, что безполезно, видео никак не выкачать.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 558
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: avtostopshik и kagorec

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
Последнее редактирование:

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 558
Баллы
113
  • Спасибо
Реакции: kagorec и Koqpe

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43
https://vk.com/dev/video.get?params[owner_id]=84060663&params[count]=2&params[offset]=12&params[extended]=1&params[v]=5.73



Получаем ссылку и удаляем:
Код:
?extra=ez8QyxvoqGujZTjYWRFxNflrX_VsbM...VIPuX6Xeg



Данная ссылка открывается только с IP, с которого был совершён API-запрос.
Нет, нет, и ещё раз нет. Нельзя пользоваться сайтом апи вк для получения ссылок на видео, ибо он то их даёт, но в программе эти же апи запросы не дают ссылок.
Даже если послать запрос:
string urlVideo = ZennoPoster.HttpGet("https://api.vk.com/method/video.get?&owner_id=84060663&access_token=token&expires_in=0&v=5.73", project.Variables["proxy"].Value, "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 30000);
То в ответе не будет ничего со словом extra. Однако будут ссылки на видео такого типа:
https://vk.com/video_ext.php?oid=-86428278&id=172401855&hash=58f9a2f73cdbc677&__ref=vk.api&api_hash=1521862383f6875631488f44f73a_GMYTIMJUGU3TMMI
Эти ссылки правильные, ведут на ролик для полной версии сайта. Используя инфу из этой ссылки можно перейти и на мобильную версию, однако выкачать файл один фиг не получается.
Или, пожалуйста, покажи мне от начала до конца, как ты скачал видео файл не беря инфу (ссылки) с сайта апи вк, а только гет запросами.
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
У меня не скачивает. Что ты сделал, чтобы файлик получить?
@ibred показал Вам правильный способ.
Я все сделал как Вы, только в ответе на гет запрос мне пришла такая ссылка:
Код:
https:\/\/cs9-4v4.vkuservideo.net\/p3\/827b066141eb.720.mp4
Убрал экранирование и скачал видео гет запросом по полученной ссылке.
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43
@ibred показал Вам правильный способ.
Я все сделал как Вы, только в ответе на гет запрос мне пришла такая ссылка:
Код:
https:\/\/cs9-4v4.vkuservideo.net\/p3\/827b066141eb.720.mp4
Убрал экранирование и скачал видео гет запросом по полученной ссылке.
Блин, почему ж у меня тогда ответ 404 на эти ссылки(((:(
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
836
Благодарностей
140
Баллы
43
Похоже действительно, проблема была вот в этом:
Данная ссылка открывается только с IP, с которого был совершён API-запрос.
Нужно всё с одного айпи делать.
Спасибо ребята что помогли разобраться, а то сам я уже запарился и скорее всего так бы и не сделал скачку видео.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)