Импорта/Экспорта подписок YouTube

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 2K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Привет уважаемый читатель!
Сегодня, я расскажу тебе, как я решил задачу по переносу подписок в аккаунте YouTube.

Первым делом хочу сказать, что данный способ не для рядового пользователя, который знает только, что такое Word'дик, Excel'чик, YouTube'чик, Вконтактик и Однокласснички, а для продвинутого юзера, хотя с другой стороны разобраться можно, если захотеть, сложностей особых нет...

Так же хочу отметить, что я не программист(это важно... :)), мне нравится сам процесс создания автоматизированных вещей, как говорится Лень - двигатель прогресса...
Если у вас количество подписок ~30. то заморачиватся с этим не стоит, у меня же их было 130(не скажу, что много но у некоторых и по 1 000 есть), сервис YouTube сделал экспорт подписок, но не сделал их импорт и мне не хотелось открывать один аккаунт, копировать url канал, открывать другой браузер, логинится там под другим аккаунтом, переходить по ранее скопированному линку, нажимать кнопку "Подписаться", и все это повторять 130 раз... Погуглил я на предмет "Импорта/Экспорта подписок YouTube" ничего нет, уныло как то...

Вспомнилось мне, что есть некий инструмент позволяющий автоматизировать действия в браузере, загуглил, нашел!
Выдержка из вики:

Selenium - это Java-приложение, которое может анализировать файлы определенной структуры для того, чтобы находить в них команды для манипуляции браузером и команды для выполнения определенных действий и проверок.​
Selenium поддерживается Microsoft Internet Explorer, Google Chrome, Mozilla Suite и Mozilla Firefox для Microsoft Windows, Linux и Apple Macintosh.​


Приступим...

Первым делом нам потребуется Python, берем его
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
. С установкой проблем возникнуть не должно... далее нам необходим сам модуль Selenium

Открываем меню Пуск->Выполнить, либо нажимаем клавиши Win+R в появившемся окне вводим "cmd" без кавычек, запустится Коммандная строка, вводим туда:

Код:
C:\Users\admin> easy_install selenium
тем самым мы установим модуль Selenium для Python, после этого нам необходимо скачать драйвер Selenium для Chrome(именно через хром мы будем проводить все манипуляции), скачать можно
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
или
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
, на момент написания статьи, версия была 2.16

Скачиваем архив, распаковываем в какую нибудь папку, например C:\Selenium, далее открываем браузер логинемся на YouTube по старым логином с которого мы будем забирать подписки и переходим по ссылке
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
, проматываем страницу в самый низ, там есть кнопка "Экспортировать подписки", жмем ее и скачиваем файл subscription_manager.xml в папку C:\Selenium, выходим из аккаунта YouTube и логинемся снова, но уже под другим аккаунтом в который мы будем импортировать подписки, закрываем все открытые вкладки, что бы ничего нам не мешало, после последней закрытой вкладки , закроется и сам Chrome, то что нам нужно...

В папке C:\Selenium создаем новый текстовый файл и называем его import.py, открываем его в блокноте и вставляем туда следующее:

Внимание! Если вы не знакомы языком Python, то у вас могут возникнуть(и скорее всего возникнут)проблемы после копирования ниже указанного текста, лучше скачайте прикрепленный архив с готовым файлом, дабы избежать проблем!



Python:
# coding=utf-8
from selenium import webdriver
from xml.dom import minidom
import re, time, sys

options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=C:/Users/user/AppData/Local/Google/Chrome/User Data')
driver = webdriver.Chrome(chrome_options = options)

def subscription(id):
    #Открываем URL канала
    url = u'https://www.youtube.com/channel/' + id[0]
    driver.get(url)
    #Находим кнопку подписки
    button = driver.find_element_by_xpath('//*[@id="c4-primary-header-contents"]/div/span/button[1]')

    #Если на кнопке нет атрибута 'data-is-subscribed="true"' - значит подписка не оформлена
    if button.get_attribute('data-is-subscribed') == None:
        #то кликаем на кнопку
        button.click()
        #Засыпаем на три секунды что-бы клик успел отработать, необходим при медленном интернете
        time.sleep(3)
        sys.stdout.write(" +++\r\n")
    else:
        #Иначе пишем:
        sys.stdout.write(" ---\r\n")

### Парсим XML файл подписок subscription_manager.xml берем здесь https://www.youtube.com/subscription_manager
### в самом низу страницы, есть кнопка "Экспортировать подписки", кладем его рядом с этим скриптом
xmldoc = minidom.parse('subscription_manager.xml')
itemlist = xmldoc.getElementsByTagName('outline')
#Печатаем количество подписок
print(len(itemlist))
#Цикл обработки XML документа
for s in itemlist:
    try:
        feed_url = s.attributes['xmlUrl'].value
        #Находим ID канала регулярным выражением
        p = re.compile('channel_id=(.*)$')
        m = p.findall(feed_url)
        #Печатаем название канала
        sys.stdout.write(s.attributes['title'].value)
        #Вызываем функцию подписки
        subscription(m)
    except:
        pass
Очень важно!!! В строке options.add_argument('--user-data-dir=C:/Users/ВАШ_ПОЛЬЗОВАТЕЛЬ/AppData/Local/Google/Chrome/User Data') в параметре "--user-data-dir=" необходимо указать путь к вашему профилю браузера, это нужно для того, чтобы запустился браузер с вашими настройками и с вашим аккаунтом YouTube

сохраняем и запускаем его двойным щелчком мыши, скрипт запустится и если все хорошо, то вы увидите строки с названием канала и символы "+++" - канал добавлен в подписки, либо "---" подписка уже была оформлена.

Работает это так:

Посмотреть вложение 8712



Всем спасибо!

Ссылка на готовый архив:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
 

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Спасиб бро а то с 0 подняти акк "надоедливо"
 

О нас

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

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя