• Как вытащить видео с сайта?

    @timursarsembayev
    ОТВЕТ 2020 ГОДА

    Привет, из 2020 :)

    Решение для Linux (у меня Linux Mint):
    1. Откройте страницу с видео роликом, видео не включайте
    2. Открываете инспектор, вкладку Network
    3. Включаете воспроизведение видео
    4. В инспекторе в строке поиска вбиваете m3u8 и находите данный файл плейлиста (он обычно только один)
    5. Скачиваете плейлист файл с расширением m3u8
    6. Отдельно сохраните ссылку на m3u8, она будет примерно такой:
    https://cs9-4v4.vkuservideo.net/video/hls/p2/3ebb0cd8afd8/index-f3-v1-a1.m3u8?extra=hkhc5u2Cz0VxVRI1gf8Zw_p-K1zG5eCCK_-AKvw8v0tBNO4CmLZSO8j5PKdHBSebK_Ph_sY7PqEDwFNzHJt-eXnOKPj1QRZD0ahfqy24z6ZIdGKqvRnHuE-PhoocuvBqMpKPAI46LFv4juflt6hO6mO4Elc

    Отсюда нужно вычленить название самого файла и параметры после него, останется только это:
    https://cs9-4v4.vkuservideo.net/video/hls/p2/3ebb0cd8afd8/

    (у вас ссылка будет отличаться, это просто пример)
    7. Откройте скачанный файл m3u8 в редакторе, например, Sublime Text
    8. Откройте поиск по содержимому файла, включите режим регулярных выражений (regular expression), от строки поиска слева это кнопка .* или кликните по строке поиска и нажмите Alt+R
    9. Введите в строку поиска #EXT.* и нажмите на кнопку Найти всё (Find All) и нажмите Backspace
    10. Скопируйте полученный урл из 6 шага
    11. Введите в строку поиска символ ^ (на англ.раскладке клавиатуры нажмите Shift+6) и нажмите Найти всё (Find All)
    12. Вставьте скопированный урл (нажмите Ctrl+V) и сохраните изменения в файле
    13. Откройте uGet (если не установлено, то установите его), перейдите в File -> Batch Downloads -> Text file import и выберите файл плейлиста m3u8, начнется скачивание отдельных файлов формата .ts в вашу домашнюю папку /home/username где username это имя вашей учетной записи
    14. По окончании скачивания снова откройте файл плейлист в редакторе Sublime Text
    15. В строку поиска вставьте скопированный урл из 6 шага и нажмите Найти всё (Find All), нажмите Backspace и сразу же напишите file ' ( слово file, пробел и одинарная кавычка ' )
    16. В строку поиска введите ?extra.* ( если у вас включен режим регулярок, то введите \?extra.* ), нажмите клавишу Backspace, а затем клавишу ' (одинарная кавычка)
    17. В итоге вы получите файл со списком что-то вроде этого:
    file 'seg-1-f3-v1-a1.ts'
    file 'seg-2-f3-v1-a1.ts'
    file 'seg-3-f3-v1-a1.ts'
    и так далее...
    18. Переименуйте файл плейлиста и измените его расширение, например так:
    dwl_local.txt
    19. Переместите файл dwl_local.txt в домашнюю папку /home/username куда были скачаны все файлы .ts
    20. Откройте терминал в домашней папке и введите в нём следующее:
    ffmpeg -f concat -i dwn_local.txt -c copy output.ts
    или скопируйте эту строку и вставьте в терминал путем Shift+Ctrl+V
    где dwn_local.txt это название файла со списком файлов
    output.ts это название конечного файла

    Если по каким-то причинам у вас не установлен ffmpeg, то установите его через терминал:
    sudo apt install ffmpeg

    Решение для Windows:
    Всё то же самое, что и для Linux с 1 по 12 шаги
    13. Нужен Download Master, также импортируйте файл плейлиста со ссылками, возможно нужно будет его переименовать сразу и поменять расширение, например, на dwn_local.txt
    Дальше шаги с 14 по 18 повторите как в инструкции для Linux
    19. Переместите файл dwn_local.txt в папку с загруженными файлами, возможно это папка Downloads (Загрузки)
    20. Откройте командную строку Windows (найдите её в меню Start или Пуск) или нажмите клавиши Win+R и введите cmd, затем клавишу Enter
    В командной строке введите следующее:
    ffmpeg -f concat -i dwn_local.txt -c copy output.ts
    где dwn_local.txt это список файлов
    output.ts это конечный объединенный файл

    Таким образом вы получаете объединенный файл .ts из нескольких фрагментов .ts
    Сконвертировать в другие форматы можно при помощи VLC плеера или других программ
    Файл .ts можно загружать себе на YouTube канал без конвертаций
    Ответ написан
    4 комментария
  • Почему не работает set_lang в библиотеке wikipedia?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Не называйте свой скрипт одинаково с именем импортируемых модулей.

    https://qna.habr.com/search?q=most+likely+due+to+a...
    Ответ написан
    Комментировать
  • Что такое "типы данных" в Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Все типы данных - это классы, но не все классы - это типы данных. Хотя классы - это типы=) но не буду вас путать.
    "map, range, срез" - это не типы данных.
    Полагаю в том вашем вопросе од типами жанных имеют в виду простые типы вроде строк, чисел с плавающей точкой, целых чисел и даже комплЕксных.
    Кортежи (tuple) и словари (dict) - это уже структуры данных, коллекции... как угодно. Да, технически это тоже классы и в каком-то смысле их можно назвать типами, но все эти терминологические дебри вам ни к чему.
    Просто считайте типами данных атомарные значения простых типов. Если к вам докопаются при таком понимании, то надо таких слать=).
    Дальше интереснее. range, к примеру, это класс, инстанс которого "умеет" делать генератор арифметических последовательностей. Вот это вот слово "умеет" связано с питоновским понятием протоколов. К примеру, если к объекту можно обратиться по индексу, значит он поддерживает соответствующий протокол __getitem__. Если объект поддерживает срезы, то в этот метод можно подать специальный объект - инстанс slice. Этот инстанс просто несёт три параметра среза (начало, конец и шаг), а как его будет применять объект - это на откуп программисту.

    Вам, надо, наверно, еще понимать разницу между изменяемыми и неизменяемыми объектами, но... мне кажется вы решили избежать чтения учебников и планомерного изучения языка, а просто решили приёти сюда за персональным репетитором, который станет тут тратить своё время на объяснение тривиальных вещей из каждого первого учебника?

    Просто доверьтесь одному из учебников и не пытайтесь перепрыгнуть через голову.
    Ответ написан
    3 комментария
  • Как исправить ошибку в android studio?

    Вариант решения если в имени пользователя кириллица :
    Открываем "Этот компьютер" - "Свойства системы" - "Дополнительные параметры системы" - "Переменные среды" - "Переменные среды для ПК" - "Создать".
    1 запись: Имя - "ANDROID_SDK_ROOT", значение - путь к папке с SDK (например D:\android\sdk )
    2. запись: Имя "ANDROID_SDK_HOME", значение - путь к папке проектами (например D:\android\project )
    Пути для записей должны быть разными.
    Ответ написан
    10 комментариев
  • Как записать в переменную содержимое консоли в Python?

    LaRN
    @LaRN
    Senior Developer
    Можно попробовать перенаправить вывод в файл
    system("Decoder.bat >>1.txt”)
    А затем читать из него текст и парсить.
    Ответ написан
    1 комментарий
  • Как заставить антивирус не реагировать на мою программу как на вирус?

    @New_account Автор вопроса
    Сам вопрос задал сам и отвечу. Нужно скомпилировать питон-код в си-код, с помощью cython. А потом си-код скомпилировать в .exe. Информацию нашел здесь - python-3.ru/page/python-code-compile . Только там рассматривается способ компиляции в .pyd, но не суть важно. Ведь в интернете думаю есть инфа как скомпилировать си-код в .exe(Вот ссылка на туториал СИ в EXE - https://msdn.microsoft.com/ru-ru/library/bb384838.aspx ). Всем спасибо за ответы и потраченное на меня время. Надеюсь эта тема поможет не только мне.
    Ответ написан
    1 комментарий
  • Почему скомпилированный код в pyinstaller считается вирусом?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Потому что он на самом деле не скомпилирован. Утилиты типа pyinstaller, cx_Freeze и тому подобные просто создают самораспоковывающийся архив, содержащий интерпретатор и ваш скрипт. Запуск упакованного в исполняемый файл кода - это как раз то поведение, которое свойственно для вирусов.
    Ответ написан
    2 комментария
  • Как сделать так, чтобы тень не налазила на буквы?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Можно заменить тень на фильтр:



    Но такие штуки не отличаются хорошей кроссбраузерностью, а светлое будущее наступило еще не везде, так что в общем случае я бы рекомендовал использовать SVG-картинки.
    Ответ написан
    Комментировать