Что такое файл yandex weblink
Перейти к содержимому

Что такое файл yandex weblink

  • автор:

Яндекс Диск — ссылка на файл

Можно-ли как-то узнать постоянную ссылку на файл в Яндекс Диске?
Что-бы ткнуть, и началось скачивание файла, а не открывалась страница Яндекса.

Постоянно обмениваюсь ссылками с качественными сайтами по теме электроника, электронные компоненты, и тд.

На сайте с 12.05.2007
15 ноября 2022, 05:14
sanek1991 :
Через некоторое время параметры ссылки другие.

нет у яндекс.диска прямого скачивания, можно использовать сервис типа https://getfile.dokpub.com/yandex/ или свой скрипт по тому же принципу

  • getfile.dokpub.com

Сервис предоставляет возможность получить прямые ссылки на скачивание с Яндекс Диска для файлов или папок опубликованных другими пользователями (публичных ресурсов). Здесь Вы можете получить прямую ссылку на видео или изображение на Яндекс Диске, также возможно получить прямую ссылку на любой тип файла за исключением расширения exe. Для тех, у.

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget

На сайте с 28.06.2008
15 ноября 2022, 14:07

function get_Yandex_disk($url)
//Инициализируем сеанс
$curl = curl_init();
//Указываем адрес страницы
curl_setopt($curl, CURLOPT_URL, $url);
//Ответ сервера сохранять в переменную, а не на экран
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//Переходить по редиректам
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36';
curl_setopt($curl, CURLOPT_USERAGENT, $agent);
//$getUserAgent = getUserAgent();
//curl_setopt($curl, CURLOPT_USERAGENT, $getUserAgent);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
curl_setopt($curl, CURLOPT_TIMEOUT, 20); //timeout in seconds
//cookie
curl_setopt($curl, CURLOPT_COOKIEJAR, __DIR__. '/cookie.txt');
curl_setopt($curl, CURLOPT_COOKIEFILE, __DIR__. '/cookie.txt');
//если сайт https
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
//http2 если нужно
curl_setopt($curl, CURLOPT_HTTP_VERSION, 3);
//Выполняем запрос:
$result = curl_exec($curl);

$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
return array( "code" => $httpcode, "response" => $result );
>

Где урл публичная ссылка на Яндекс диск

$result = get_Yandex_disk( "https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key keyword">if( $result["code"] == 200 ) 
$result["response"] = json_decode( $result["response"], true );
$urlDownload = $result["response"]["href"];

>else
echo "error";
>

По ссылке, что советует totamon у меня довольно часто ловит капчу от Яндекса.

Как правильно использовать прямую ссылку с Яндекс.диска?

Всё вроде бы хорошо но, когда я пытаюсь перейти по ссылке, получаю в ответ статус 403:

5f23e22018656067756651.png

При этом, если просто вбить полученную ссылку в браузере, он без проблем даёт скачать файл, и после этого ссылка начинает работать как надо.
Вопрос, можно ли как-то обойти ручные манипуляции с браузером и сразу скачать файл?

  • Вопрос задан более трёх лет назад
  • 18067 просмотров

1 комментарий

Простой 1 комментарий

CrazyKing

CrazyKing @CrazyKing Автор вопроса

5f23e9ef9b8ac693864206.png

Ещё нашел кое-что интересное, если открыть полученную ссылку в браузере (руками), и посмотреть в мониторинг сети (F12), то можно увидеть такую картину:

В ответе есть «location» и там ссылка на файл, вот если использовать ссылку из данного заголовка, то всё хорошо скачивается.
Но данная ссылка стухнет через пару часов.
Было бы неплохо её как-то вытаскивать автоматом.

Разрезать и залить видео на Яндекс.диск — бесплатно

Предлагается рассмотреть программу на python, которая позволит в рамках бесплатного тарифа «Яндекс.диска» нарезать и заливать видеофайлы, размеры которых превышают 1 Гб (требование тарифа), получать ссылки на них. Никакой магии — только api «yandex.диска» и немного python.

Предисловие. Небольшое

Погрузившись в познание нейросетей мимо меня как-то мимо прошла новость о том, что ресурс, на который была возложена миссия по спасению и переносу видеофайлов стал платным. Речь, конечно, о «Яндекс. диске».

Какое-то время с этим можно было мириться, так как для «старых» аккаунтов вроде как были небольшие послабления — еще можно было залить файл с превышением размера, только если он по габаритам помещался в оставшееся место на облаке. Но потом и эту «лавочку прикрыли» — только не более 1Гб.

В воздухе повисла пауза и необходимость как-то заливать файлы либо вообще забыть про ресурс.

Но, как говорится, «старый друг лучше новых двух», поэтому пришлось заглянуть в api «яндекс. диска», а, заодно, поискать быстрый splitter видео, чтобы экономить целых 199 р. в месяц на «старом друге».

К программе нарезки видео

Идея программы проста: дробим видео по 1Гб, заливаем на «яндекс.диск» (далее по тексту — «Я»), делаем ссылки на части видео публичными (доступ по ссылке), получаем ссылки на видео в txt.

В поисках проекта по корректному и быстрому разрезанию видео нагитхабилось несколько репозиториев. Но не все они оказались рабочими, а из рабочих — быстрыми и результативными.

В итоге, самым результативной оказалась программа (назовем ее split.py), использующая ffmpeg:

import subprocess,os class Split: def __init__(self,maxSize,path): '''Size of the chunks in MB and path to save the pieces''' self.maxSize = int((maxSize-10) * 1024) self.path = path def splitVid(self,file): '''File to split''' video_size = os.path.getsize(file) video_size = video_size / 1024 video_duration = subprocess.run(["ffprobe", "-v", "error", "-show_entries", "format=duration", "-of", "default=noprint_wrappers=1:nokey=1", file], stdout=subprocess.PIPE).stdout.decode('utf-8') pieces_duration = round(float(video_duration) / (int(video_size / self.maxSize) + 1)) subprocess.run(["ffmpeg", "-i", file, "-c", "copy", "-f", "segment", "-segment_time", str(pieces_duration), "-loglevel", "quiet", "-reset_timestamps", "1", f"part%02d_vid.mp4"])

Вызывать ее будем из другого скрипта (example.py):

from split import Split splitter = Split(1000,"./") splitter.splitVid("video.mkv")

где 1000 — это размер в Мб, который превышать нельзя, а video.mkv — видео для нарезки.

Вроде бы все в части нарезки видео. Но, оказалось, с Я не все так просто.

Общение с api «яндекс.диска»

Для того, чтобы можно было пользоваться ресурсом, необходим токен, благо он бесплатный.
Получить его просто, пройдя ряд шагов, не вызывающих сложностей по созданию приложения на «яндексе». На получении токена останавливаться не будем, статей на эту тему достаточно.

Перейдем непосредственно к программе.

В основу положена библиотека из репозитория — yadisk.

Устанавливается вспомогательный модуль как обычно —

pip install yadisk

Есть также ее async сестра — yadisk-async.

С ее использованием при общении с Я тоже не все безоблачно, но об этом позднее.

Однако в пределах одного взятого файла (видеофрагмента большого размера) async проигрывает по скорости загрузки, проверено экспериментально.

В репо yadisk есть простые команды для общения с Я по api.

Мы перейдем сразу к рекурсивной загрузке всех файлов из папки на нашем локальном диске.

 import posixpath import os import yadisk #windows version from time import sleep y = yadisk.YaDisk(token="токен") # Создаёт новую папку "/test-dir" print(y.mkdir("/test-dir")) to_dir = "/test-dir" from_dir = "to_upload" #проверка свободного места #print(y.get_disk_info().FIELDS) fields=y.get_disk_info().FIELDS free_space=(fields['total_space']-fields['used_space'])/1048576 trash=fields['trash_size']/1048576 print(f"свободное место на yandex disk: Мб", ) print(f"корзина занимает: Мб", ) def recursive_upload(y, from_dir, to_dir): for root, dirs, files in os.walk(from_dir): p = root.split(from_dir)[1].strip(os.path.sep) dir_path = posixpath.join(to_dir, p) #print(dir_path) #try: #y.mkdir(dir_path) #except yadisk.exceptions.PathExistsError as e: #print(e) #pass for file in files: file_path = posixpath.join(dir_path, file) #print(file_path) #p_sys = p.replace("/", os.path.sep) in_path = os.path.join(from_dir, file) print(in_path) try: y.upload(in_path, file_path) except yadisk.exceptions.PathExistsError as e: print(e) #pass recursive_upload(y, from_dir, to_dir) print("залито") #print(list(y.listdir("/test-dir"))) for f in list(y.listdir(to_dir)): y.publish(f'/') # make file public with open ("links.txt", "a") as l: for f in list(y.listdir("/test-dir")): print(f.FIELDS["public_url"]) #public url l.write(f.FIELDS["public_url"]+'\n') print('готово') 

Программа для os windows. Разберем код.

Из локальной папки to_upload заливаются в папку test-dir на Я все ранее нарезанные видеофрагменты.

Также предварительно выводится свободное место на yandex disk и размер заполненной корзины, чтобы самому оценить вероятность успеха, а не дожидаться ошибки.

Далее, с помощью

 y.publish(f'/документации. 

Выход из сложившейся ситуации простой — заливать файлы, удалив у них расширения. То есть вместо «video.mp4», закачивать «video».

Поэтому, в программу рекурсивной загрузки файлов добавим одну строку, которая будет удалять расширение файла перед загрузкой:

os.rename(f'/',f'/') 

Блок кода примет вид:

for file in files: os.rename(f'/',f'/') file_path = posixpath.join(dir_path, file)

Ремарка по async версию программы

Переименование файлов перед загрузкой на ресурс Я не спасает программу по async загрузке от вылета. Это происходит только при заливе крупных файлов и, вероятно, из-за timeout — issue.

Тем не менее, версию программы с async можно заставить работать, увеличив timeout.

Например, рабочий код (протестирован на видео фрагментах) может выглядеть вот так:

 async def main(): print("token valid: ",await y.check_token()) print("заливаю. ") async with aiofiles.open("ghosted_1", "rb") as f: await y.upload(f, "/test-dir/ghosted_1",timeout=100) print("залил") if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close()

Послесловие

Оглядываясь назад, можно задать вопрос — стоят ли 199 р. таких трудов? Все равно ведь залитые видеофрагменты дробятся по 1Гб и при просмотре с ресурса Я будут немного вызывать неудобства при просмотре. Однако, этот вопрос — на обсуждение. Здесь лишь приведен вариант решения проблемы, с которой столкнулся автор.

  • яндекс.диск
  • обработка видео
  • хранение файлов
  • Python
  • Хранение данных
  • Облачные сервисы

YRC WeblinkОбзор браузера YRC Weblink

Браузер YRC Weblink

Индийские программисты считаются одними из самых крутых в мире (после русских и китайских :), но с этим браузером у них что-то не заладилось, ибо это просто праздник какой-то, а не браузер. Идеи, которые они постарались воплотить в этом браузере - прекрасны, но сама реализация из рук вон плоха. Браузер работает "через пень-колоду", то есть странно и плохо. Попробовал его на двух разных компьютерах - под Windows 7 и под Windows 8 - и там и там глюки и зависания.

Впрочем, пойдем по порядку.

После установки браузер предлагает выбрать некоторые настройки (как, например, видно на скриншоте выше), а кроме того - создать аккаунт для облачной синхронизации и хранения настроек, закладок, заметок и файлов.

Браузер YRC Weblink

Прекрасная идея! Жму ссылку Sign Up, что значит "Зарегистрироваться", открывается сайт с веселенькими картинками, но открывается он почему-то не в YRC Weblink, а в браузере, который стоит на компьютере по умолчанию и это первая странность. Другая странность заключается в том, что нужно вводить довольно много своих данных - зачем? Например, в браузере Maxthon для регистрации в облаке требуется ввести лишь email и пароль, что гораздо проще, приятнее и не вызывает лишних вопросов.

Браузер YRC Weblink

Ладно, ввожу все эти данные. Приходит письмо для подтверждения аккаунта, жму на ссылку, однако сайт сообщает мне "Oops! - не нахожу твоих данных в базе". Но тут приходит еще одно письмо с новой ссылкой, жму на ссылку в нем и опять - Oops! Однако, в процессе этих упсов приходит третье письмо и там написано - поздравляем, ваш аккаунт подтвержден! Такая вот своеобразная индийская верификация аккаунта.

Открываю браузер, настройки, пытаюсь импортировать закладки. Браузер в упор не видит закладочного файла формата .html, который все известные мне браузеры видят, понимают и принимают без проблем. Ввожу название файла вручную, жму Импортировать и получаю отчет - закладки успешно импортированы!

Закладки YRC Weblink

Вот только куда они успешно импортированы. Ни в браузере, ни в облаке их нет. Повторяю операцию еще раз и тот же результат. Ладно, проехали. Двигаемся дальше.

В облаке и настройках есть пункт Заметки. Помня про заметки в браузере Maxthon, которые можно создавать с помощью встроенного блокнота и которые автматически сохраняются в облаке, пытаюсь найти нечто подобное в YRC Weblink, увы, безрезультатно. Просмотр заметок есть, а инструмента для их создания нет. Странно? Еще как!

Ну ОК. Смотрим, что у нас есть еще. При инсталляции браузер самостоятельно (без спросу) установил на рабочий стол два ярлыка - ярлык браузера (это нормально) и ярлык Твиттера.

Ярлык YRC Weblink

При нажатии на этот ярлык открывается отдельное окно браузера с Твиттером. Какого черта это делать да еще по умолчанию? Может, я вообще не пользуюсь Твиттером? Ладно, ярлык Твиттера с рабочего стола удалил, но не тут-то было! Теперь, при нажатии на ярлык браузера (а не твиттера), в панели задач браузер высвечивается Твиттером! Такого праздничного глюка я еще в своей жизни не встречал!

Глюки YRC Weblink

Кстати, об этих трех окнах, которые вы видите на скриншоте выше. Окно настроек Summary зависает через раз. Причем так, что вырубить его можно только отключением процесса в Диспетчере задач, по-другому - никак. А закрыть окно синхронизации можно только путем разлогинивания в системе.

YRC Weblink

Если нажать на "Нет", окно будет постоянно висеть открытым. При том, что сам браузер, наоборот, время от времени самопроизвольно выключается. И что смешно: браузер выключается, а зависшее окно Summary и открытое окно Синхронизации - нет, так и висят они бесхозные, брошенные браузером, пока не вырубишь их в Диспетчере задач. Фееричные глюки!

Впрочем, не правильно было бы не перечислить и положительные стороны браузера.

Во-первых, это режим анонимного серфинга. Включаете в настройках этот режим и браузер не использует кэш, куки, не записывает историю посещений. Есть браузеры, которые работают только в таком режиме, например, Browzar, что иногда необходимо, но в целом крайне неудобно. И возможность быстрого подключения-отключения такого режима - большой плюс браузеру.

Weblink

Во-вторых, в YRC Weblink есть возможность выбора поисковой системы по умолчанию. Выбирать, правда, приходится из достаточно специфичного списка:

Настройки YRC Weblink

Однако, адрес поисковой машины можно задать и вручную, нажав на копку Define New (на скриншоте ее не видно, она под списком).

Ну и последний, но очень весомый плюс - YRC Weblink почти не грузит систему! Для сравнения открыл в нем 10 вкладок и 10 вкладок с теми же самыми адресами открыл в Яндекс-браузере (лидере среди браузеров по загрузке системы) и вот какая картина получилась.

Яндекс-браузер:

Яндекс браузер грузит систему

YRC Weblink:

YRC Weblink

Не трудно догадаться, что YRC Weblink в этом смысле практичеси вне конкуренции, в хорошем смысле.

РЕЗЮМЕ. Если бы все задумки, которые создатели пытались внедрить в этом браузере, были сделаны как надо, цены бы ему не было, YRC Weblink мог бы претендовать на звание лучшего или, как минимум, одного из лучших браузеров. Но с теми недоработками, какие в нем наблюдаются, он даже на "троечку" не тянет. Ставлю ему оценку 3-.

После тестирования, браузер деинсталирую - иметь на компьютере столь глючную программу совершенно ни к чему. Ну и ждем дальнейших шагов от YRC Group Inc. Сумеют индийские программисты устранить все недоработки и выпустить действительно рабочую версию браузера, честь им и хвала. Не сумеют - еще одним мертворожденным браузером в мире будет больше.

Скачать браузер YRC Weblink (15,42 Мб.)

Обзоры других браузеров:

Acoo Browser Amigo Arora Avant Browzar Flock Google Chrome Internet Explorer K-Meleon Maxthon Midori Mozilla Firefox QIP Surf Safari Sundance Theworld Torch Yandex

Все браузеры интернета ЗДЕСЬ - на специальной странице нашего проекта (краткие обзоры, возможность скачать). Аналогов в Рунете нет!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *