Я хочу напечатать список песен (с исполнителем, альбомом, рейтингом и, если возможно, количеством воспроизведений и продолжительностью) из моей учетной записи Google Play Music .
Нет простого способа сделать это из приложения. Делать печатные экраны, пока я пролистываю длинный список песен, невозможно.
Я был бы рад экспорту данных в стандартный формат (простой текст, CSV, XML и т. Д.), Которым я могу манипулировать самостоятельно.
Какие-либо предложения?
Ответы:
Изменение ответа darkliquid в , я придумал следующее что позволяет несколько списков воспроизведения , которые будут сохранены сразу .
Инструкции:
JSON.stringify(tracklistObj, null, '\t')
(изменить ,'\t'
чтобы ,' '
если вы хотите , минимальный отступ) илиtracklistObj
если вы просто хотите, чтобы объект JavaScript , чтобы управлять его собственным путем. Если вы хотите, чтобы он был отсортирован, выполните командуObject.values(tracklistObj).forEach(a => a.sort())
перед вызовомJSON.stringify
команды.Будьте внимательны, чтобы не обновить страницу до того, как вы выполнили все, что вы хотите сделать, иначе вам придется перезапустить с шага 1.
Вы также можете распечатывать названия треков на консоли, переходя
printTracksToConsole
наtrue
(вы должны сделать это до шага 3).Обратите внимание, что вы, вероятно, можете игнорировать все ошибки GET и POST в консоли (они генерируются самой Play Music, а не этим скриптом).
Также отметим , что в настоящее время это установка только дать
Artist - Track name
, но вы можете легко изменить строку , которая имеетtracklistObj[currentPlaylist].push(artist + " - " + title);
сalbum
,playCount
,duration
илиrating
, и / или любой другой форматированием вы хотите (включая формат CSV , если вы так , пожалуйста).Пример вывода (все плейлисты Google Play, которые у меня есть) с настройками по умолчанию. В общей сложности понадобилось около 5 минут, чтобы перейти к каждому из 32 списков воспроизведения, прокрутить их вниз, а затем преобразовать результат в текст.
PS Вам может быть интересно использовать найденный мной сайт под названием Tune My Music для создания плейлистов YouTube (но YouTube ограничивает создание плейлистов до 10 в день) из вывода, чтобы ваши друзья могли слушать ваши плейлисты Google. Если вы сделаете это, вы, вероятно, захотите использовать что-то вроде TextMechanic для удаления кавычек и
.mp3
из выведенного списка.источник
(Обновлено 2016-05-09, более надежный, чем текущий топ-ответ)
Если вам просто нужно сохранить несколько плейлистов, вы можете просто использовать мой фрагмент Javascript ниже. Этот фрагмент может сохранить каждый список, как он показан на веб-странице, поэтому он также работает для всех представлений библиотеки песен / альбомов / исполнителей. Я перечислил две другие альтернативы в конце этого ответа.
Перейдите по адресу : https://play.google.com/music/listen#/all (или в свой плейлист).
Откройте консоль разработчика (F12 для Chrome). Вставьте код ниже в консоль.
Все записанные песни сохраняются в
allsongs
объекте, а текстовая версия списка копируется в буфер обмена. Я рекомендую бежатьsongsToText("all",true)
позже, чтобы получить полную информацию о CSV. Запуститеcopy(outText)
вручную, если копирование в буфер обмена не сработало с первой попытки.Код (последняя версия 10 мая 2016 г., редакция 30):
Последний код на Github (Gist) здесь: https://gist.github.com/jmiserez/c9a9a0f41e867e5ebb75
Если вы хотите вывод в текстовом формате, можете вызвать функцию songsToText (). Вы можете выбрать стиль, выбрать формат, и если нужно экспортировать только понравившиеся песни. Полученный список будет вставлен в буфер обмена. Стили
all
,artist
,artistalbum
,artistsong
,artistalbumsong
. CSV приведет к созданию файла CSV и может быть пропущен (по умолчанию false). Likedonly может быть пропущен (по умолчанию false) или установлен в true, и будет фильтровать все песни с оценками, большими или равными 5. Например:songsToText("all",true,false)
экспортирует все песни в формате CSV.songsToText("all",true,true)
будет экспортировать только любимые песни в формате CSV.songsToText("artistsong",false,false)
экспортирует все песни в виде текста.Затем вы можете вставить данные в любое удобное для вас место, например, http://www.ivyishere.org/, если хотите добавить песни или альбомы в свою учетную запись Spotify. Чтобы Ivy распознал полноценные альбомы, используйте стиль "Artistalbum". Для песен используйте стиль «Artistong».
О фрагменте: это основано на первоначальном ответе Майкла Смита, но немного более надежно. Я сделал следующие улучшения:
Работает как с плейлистами, так и с библиотекой. Все пропущенные столбцы игнорируются, и порядок определяется, поэтому он должен работать практически с любым списком песен в Google Music.
Он останавливается, когда достигает дна (определяет положение прокрутки) или по истечении указанного времени ожидания. Тайм-аут существует для предотвращения бесконечного цикла в случае, если код обнаружения прокрутки отключен на несколько пикселей.
Это намного быстрее (интервал каждые 1 мс), но ожидает, если данные не готовы (до указанного времени ожидания, в настоящее время 3 с).
Делает дедупликацию во время работы и на выходе.
Собирает оценки: «undefined» никогда не оценивается, «0» не оценивается (то есть один раз оценивается, но затем удаляется), «1» - это большие пальцы вниз, а «5» - большие пальцы (понравилось).
В дополнение к основным улучшениям, он также хорошо форматирует текст и копирует его в буфер обмена. Вы также можете получить данные в формате CSV, если хотите, запустив
songsToText
функцию во второй раз.Альтернативы:
Если вам нужен Python API, ознакомьтесь с неофициальным проектом Google Music API .
Если у вас есть тонны плейлистов и вы хотите экспортировать их все за один раз, попробуйте экспортер плейлистов gmusic-scripts, который может это сделать (Python использует неофициальный проект API).
источник
songsToText("all", true)
после.Если вы не возражаете против запуска кода javascript в консоли разработчика вашего браузера, вы можете извлечь информацию со страницы следующим образом (проверено только в Chrome):
Это выведет на консоль список большинства видимых в данный момент песен в окне. Вам нужно будет прокрутить вниз и перезапустить его, чтобы получить больше. На данный момент я еще не нашел приличного способа получить информацию полностью, но этот быстрый 5-минутный хак лучше, чем ничего.
источник
querySelector(...)
вместоquerySelectorAll(...)[0]
Используя верхний ответ (в то время) и желая получить полное решение, я создал следующий код, который прокручивает список музыки и добавляет объекты JSON в массив по мере его поступления.
Из-за незнания, какие именно песни видны, код добавляет их все, а затем в конце удаляет дубликаты. (Проверено только в Chrome.)
Для использования: перейдите в свою библиотеку, где вы видите свой полный список песен, и запустите
Когда это дойдет до нижней части страницы, запустите это, чтобы остановить прокрутку, дедуплицировать массив и скопировать JSON в буфер обмена.
источник
У меня есть немного более короткий JavaScript, который вы можете вставить в консоль. Вместо повторного запуска кода вы можете просто прокрутить вниз и добавить все появившиеся альбомы. Затем вы можете скачать список воспроизведения в виде электронной таблицы.
инструкции
Перейдите по этой ссылке: https://play.google.com/music/listen#/ap/auto-playlist-thumbs-up.
Откройте Developer Tools (F12) и вставьте приведенный ниже код на вкладку Console
Прокрутите, чтобы каждый альбом в плейлисте был виден хотя бы один раз
Дважды щелкните где-нибудь на странице, чтобы загрузить
export-google-play.csv
Открыть
export-google-play.csv
в Excel.Код
Выход
GitHub
источник
Я немного изменил подход верхнего ответа. Для меня это работало лучше с методом копирования / вставки Айви ( http://www.ivyishere.org/ivy ):
Шаг 1 Откройте нужный список воспроизведения из Google Music в Chrome и вставьте его в консоль:
Это должно привести к отображению всего вашего плейлиста, а не только его части.
Шаг 2 Вставьте этот скрипт в консоль:
Шаг 3 Перейдите к Ivy, а когда перейдете к шагу 2, выберите вкладку «Копировать / Вставить» и вставьте туда вывод консоли.
РЕДАКТИРОВАТЬ
Обновленный скрипт, предложенный Алексом Педерсеном
Итерации по саморазвитию доработки (у меня пока недостаточно репутации, чтобы комментировать его пост). Я думаю, что стилизация в Googleplay обновилась, поэтому приведенный ниже скрипт снова дает хороший результат.
источник
Просто сделайте Ctrl+, –пока текст не станет очень маленьким, а затем выделите все. Работает как шарм без скриптов и приложений.
источник
Я только сталкивался с этим вопросом, ища что-то подобное.
Я думаю, ваш лучший вариант:
источник