Savify เป็นไลบรารีหลามที่ดาวน์โหลดเพลงจากผู้ให้บริการที่เลือก (ตามค่าเริ่มต้นของ YouTube) จากนั้นจะคัดลอกข้อมูลเมตาจาก Spotify จากแบบสอบถาม Savify จะค้นหาและดาวน์โหลดเพลงเป็นรูปแบบ MP3 ที่มีคุณภาพสูงถึง 320 kb/s ! แอปพลิเคชั่นนี้จะคัดลอกและเขียน แท็ก id3v2 ให้กับเพลงทั้งหมดของคุณ แท็กรวมถึง ชื่อศิลปิน ปี อัลบั้ม และแม้กระทั่งภาพหน้าปก!
Savify รองรับลิงก์แทร็ก อัลบั้ม และเพลย์ลิสต์ของ Spotify ทั้งหมด นอกจากนี้ยังมี ฟังก์ชันการค้นหาแบบรวม ดังนั้นแม้ว่าคุณจะไม่มีลิงก์ Spotify คุณก็สามารถป้อนชื่อเพลงแล้ว Savify จะทำการดาวน์โหลด!
นอกจาก mp3 แล้ว Savify ยังสามารถดาวน์โหลดและแปลงเป็นไฟล์ประเภทอื่นได้อีกด้วย ภายในแอปพลิเคชัน คุณสามารถระบุรูปแบบและคุณภาพที่คุณต้องการดาวน์โหลดเพลงเพื่อให้เข้ากันได้สูงสุดในทุกอุปกรณ์ของคุณ รูปแบบที่ใช้ได้: mp3, aac, flac, m4a, opus, vorbis และ wav แท็กและภาพหน้าปกจะใช้ได้กับเพลงที่ดาวน์โหลดในรูปแบบ MP3 เท่านั้น
โปรดทราบว่าไลบรารีนี้ไม่ขัดแย้งกับ TOS ของ Spotify แต่อย่างใด เพลงจะไม่ถูกริปจาก Spotify โดยตรง แต่จะดาวน์โหลดจากแหล่งอื่น เช่น YouTube และ Soundcloud โดยใช้ไลบรารี youtube-dl python แทน Spotify ใช้เพื่อรวบรวมข้อมูลเมตาที่ถูกต้องเพื่อฝังลงในไฟล์เพลงที่ดาวน์โหลดเท่านั้น
เยี่ยมชมที่เก็บอิมเมจ Docker Hub อย่างเป็นทางการของเรา และรับอิมเมจ Docker ล่าสุด: https://hub.docker.com/repository/docker/laurencerawlings/savify
คำถามหรือข้อเสนอแนะใด ๆ เข้าร่วม เซิร์ฟเวอร์ Discord
Savify อาศัยไลบรารี FFmpeg โอเพ่นซอร์สในการแปลงและเขียนข้อมูลเมตาลงในเพลงที่ดาวน์โหลด โปรดตรวจสอบให้แน่ใจว่าได้ติดตั้ง FFmpeg บนคอมพิวเตอร์ของคุณและเพิ่มลงใน System PATH แล้ว ติดตามบทช่วยสอนที่นี่
หากคุณต้องการใช้ Savify เพื่อดาวน์โหลดเพลย์ลิสต์ Spotify ส่วนตัว ตรวจสอบให้แน่ใจว่าตั้งค่าการเปิดเผยเป็น 'สาธารณะ' เพื่อให้ Savify สามารถใช้ Spotify API เพื่อดึงรายละเอียดเพลงจากเพลย์ลิสต์ของคุณ
หากคุณใช้ Windows คุณสามารถดาวน์โหลดแพ็คเกจปฏิบัติการที่แพ็กล่วงหน้าล่าสุดได้ (ซึ่งฉันแนะนำเนื่องจากคุณไม่จำเป็นต้องระบุคีย์ Savify API) หรือคุณสามารถดาวน์โหลดไลบรารี่ python และรันโมดูลโดยตรงโดยใช้ CLI
ไปที่นี่เพื่อดาวน์โหลด Savify.exe ล่าสุด จากนั้นตรวจสอบให้แน่ใจว่าคุณมี:
ดาวน์โหลด FFmpeg และเพิ่มลงใน Path ของคุณ
ข้อมูลประจำตัว Spotify API ถูกเพิ่มให้กับตัวแปรสภาพแวดล้อมของคุณ
เพียงเท่านี้คุณก็ควรจะไปได้แล้ว! ดูตัวอย่างการใช้งานด้านล่าง
$ pip install -U savify
โคลนพื้นที่เก็บข้อมูลและตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีราก ดำเนินการคำสั่ง build ต่อไปนี้:
$ docker build -t savify:dev .
ปัจจุบัน Savify รองรับเฉพาะ URL ของ Spotify และคำค้นหาเท่านั้น อย่างไรก็ตาม การสนับสนุนสำหรับ Spotify URI จะถูกเพิ่มเข้ามาในอนาคต
หากคุณได้ดาวน์โหลด Savify.exe ล่าสุดจากหน้าการเผยแพร่ ให้เปิดเทอร์มินัลของคุณและนำทางไปยังไดเร็กทอรีเดียวกันกับไบนารี่ จากนั้นคุณจะสามารถเรียกใช้:
$ Savify.exe
หากคุณใช้แพ็คเกจ Python และติดตั้ง savify ลงในแพ็คเกจไซต์ของคุณและโฟลเดอร์ pip ของคุณอยู่ใน PATH ของคุณ (ซึ่งควรเป็นค่าเริ่มต้น) จากทุกที่ที่คุณสามารถเรียกใช้:
$ savify
เพื่อขอความช่วยเหลือ:
$ savify --help
ใช้ค่าเริ่มต้นด้านบน:
$ savify "https://open.spotify.com/track/4Dju9g4NCz0LDxwcjonSvI"
ระบุตัวเลือกของคุณเอง:
$ savify "https://open.spotify.com/track/4Dju9g4NCz0LDxwcjonSvI" -q best -f mp3 -o "/path/to/downloads" -g "%artist%/%album%"
ด้วยคำค้นหา:
$ savify "You & I - Bru-C" -t track -q best -f mp3 -o "/path/to/downloads" -g "%artist%/%album%"
ตัวแปรที่ใช้ได้: %artist%, %album%, %playlist%
ตัวอย่างเช่น:
$ savify "You & I - Bru-C" -o /path/to/downloads -g "%artist%/%album%"
จะดาวน์โหลดในโครงสร้างไดเร็กทอรีต่อไปนี้:
/path/to/downloads | |- /บรู-ซี | |- /เสียงต้นฉบับ | |- Bru-C - คุณ & I.mp3
ประเภทแบบสอบถาม: | ติดตาม |
---|---|
คุณภาพ: | ดีที่สุด |
รูปแบบ: | mp3 |
เส้นทาง: | Windows: HOME/AppData/โรมมิ่ง/บันทึก/ดาวน์โหลด Linux: HOME/.local/share/Savify/ดาวน์โหลด MacOS: HOME/Library/Application Support/Savify/downloads |
การจัดกลุ่ม: | ไม่มีการจัดกลุ่ม |
สำหรับตัวอย่างการใช้งานเพิ่มเติม โปรดอ่านเอกสาร
เรียกใช้ Savify ภายในคอนเทนเนอร์ซึ่งสามารถเชื่อมต่อกับเครือข่ายของคอนเทนเนอร์อื่นได้ สิ่งนี้มีประโยชน์หากคุณต้องการเรียกใช้ savify หลายอินสแตนซ์และ/หรือต้องการใช้ VPN สำหรับการดาวน์โหลด คุณสามารถใช้อิมเมจ Docker ที่คุณสร้างขึ้นเองหรืออิมเมจอย่างเป็นทางการก็ได้ ตรวจสอบให้แน่ใจว่าใช้ชื่อและแท็กอิมเมจ Docker ที่ถูกต้อง
$ docker run laurencerawlings/savify:latest
หากไม่มีการระบุอาร์กิวเมนต์ คอนเทนเนอร์จะพิมพ์หน้าวิธีใช้ เพียงต่อท้ายข้อโต้แย้งของคุณ ตรวจสอบให้แน่ใจว่าคุณติดตั้งโฟลเดอร์จากโฮสต์ของคุณ เพื่อให้การดาวน์โหลดยังคงอยู่ ( -v
) - pwd
ใช้เพื่อเมานต์ไดเร็กทอรีปัจจุบันที่คุณอยู่ - และลบคอนเทนเนอร์เมื่อเสร็จสิ้น ( --rm
) คุณต้องระบุรหัสไคลเอนต์ Spotify และความลับของคุณโดยใช้ตัวแปรสภาพแวดล้อม ( -e
):
$ docker run --rm -v "`pwd`:/root/.local/share/Savify/downloads" -e SPOTIPY_CLIENT_ID=client_id -e SPOTIPY_CLIENT_SECRET=client_secret laurencerawlings/savify:latest "https://open.spotify.com/playlist/..."
หากคุณต้องการเก็บบันทึกของคุณ คุณสามารถต่อเชื่อมไดเร็กทอรีการบันทึกได้โดยเพิ่มอาร์กิวเมนต์ต่อไปนี้ให้กับคำสั่ง docker run: -v "./logs:/root/.local/share/Savify/logs"
อัตโนมัติด้วยเชลล์สคริปต์:
$ nano savify.sh
#!/bin/bashdocker run --rm -v "`pwd`:/root/.local/share/Savify/downloads" -e SPOTIPY_CLIENT_ID=client_id -e SPOTIPY_CLIENT_SECRET=client_secret laurencerawlings/savify:ล่าสุด $1
จากนั้นรันด้วย:
$ sh savify.sh "https://open.spotify.com/track/4Dju9g4NCz0LDxwcjonSvI"
คุณยังมีตัวเลือกในการเริ่มต้นอย่างรวดเร็วโดยใช้สคริปต์นักเทียบท่าของเราซึ่งมีการตรวจสอบ VPN ในตัวเพื่อดูว่ามีคอนเทนเนอร์ VPN ใดบ้างที่สคริปต์สามารถเชื่อมต่อได้ สคริปต์นี้สมบูรณ์แบบสำหรับการกำหนดเวลาด้วย cron:
$ wget https://github.com/laurencerawlings/savify/latest/download/savify-docker-scripts.zip $ คลายซิป savify-docker-scripts.zip && rm savify-docker-scripts.zip $ cd savify-นักเทียบท่า-สคริปต์/
จากนั้นคุณจะต้องแก้ไขไฟล์การกำหนดค่าด้วยโปรแกรมแก้ไขข้อความที่คุณต้องการ (เราชอบนาโน) บันทึกมัน (Ctrl + X, Y สำหรับบันทึกการเปลี่ยนแปลงในนาโน) และเปลี่ยนชื่อเป็น config.sh
$ นาโน template.config.sh $ mv template.config.sh config.sh
จากนั้นคุณสามารถรันสคริปต์ได้:
$ bash จำนวนมาก-download.sh
หากต้องการใช้โมดูล Savify Python คุณจะต้องมีแอปพลิเคชันนักพัฒนา Spotify ของคุณเองเพื่อเข้าถึง API หากต้องการทำสิ่งนี้ให้ลงทะเบียนที่นี่ เมื่อคุณสร้างแอปพลิเคชันใหม่ ให้จดรหัสลูกค้าและความลับของคุณไว้ คุณสามารถส่ง ID และความลับไปยัง Savify ได้สองวิธี:
ตอนนี้คุณต้องเพิ่มตัวแปรสภาพแวดล้อม 2 ตัวให้กับระบบของคุณ:
SPOTIPY_CLIENT_ID
SPOTIPY_CLIENT_SECRET
หากต้องการทราบวิธีดำเนินการดังกล่าว ให้ค้นหาบทช่วยสอนออนไลน์สำหรับระบบปฏิบัติการเฉพาะของคุณ เมื่อคุณทำสิ่งนี้เสร็จแล้ว อย่าลืมรีสตาร์ทเชลล์ของคุณ
คุณสามารถส่ง ID และความลับของคุณโดยใช้ทูเพิลเมื่อสร้างวัตถุ Savify ของคุณ:
s = บันทึก(api_credentials=("CLIENT_ID","CLIENT_SECRET"))
ติดตั้งแพ็คเกจเข้ากับสภาพแวดล้อมของคุณ:
$ pip install savify
นำเข้าและใช้ Savify:
จาก savify นำเข้า Savifyจาก savify.types นำเข้า Type, Format, Qualitys = Savify()# Spotify URLs.download("SPOTIFY URL")# คำค้นหา # ประเภท: TRACK, ALBUM, PLAYLISTs.download("QUERY", query_type=Type. ติดตาม)
บันทึกข้อโต้แย้งตัวสร้างเสริม (ดูด้านบนสำหรับค่าเริ่มต้น):
การบันทึกการนำเข้า จาก Savify นำเข้า Savify จาก savify.types ประเภทการนำเข้า รูปแบบ คุณภาพ จาก savify.utils นำเข้า PathHolder # ตัวเลือกคุณภาพ: แย่ที่สุด, Q32K, Q96K, Q128K, Q192K, Q256K, Q320K, ดีที่สุด # ตัวเลือกรูปแบบ: MP3, AAC, FLAC, M4A, OPUS, VORBIS, WAV Savify(api_credentials=None, quality=Quality.BEST, download_format=Format.MP3, path_holder=PathHolder(downloads_path='path/for/downloads'), group='%artist%/%album%', quiet=False,skip_cover_art =เท็จ, log_level=logging.INFO)
ปรับแต่งตัวเลือก youtube-dl ด้วยตนเอง:
จาก Savify นำเข้า Savifyoptions = {'cookiefile': 'cookies.txt'}Savify(ydl_options=options)
ผ่านคนตัดไม้ของคุณเอง:
จากการบันทึกการนำเข้า Savify จาก savify.logger การนำเข้า Loggerlogger = Logger (log_location='path/for/logs', log_level=None) # Silent outputSavify (logger=logger)
อาร์กิวเมนต์กลุ่มใช้เพื่อจัดเรียงเพลงที่คุณดาวน์โหลดภายในเส้นทางเอาต์พุต ตัวแปรที่เป็นไปได้สำหรับสตริงเส้นทางคือ: %artist%, %album% และ %playlist% ตัวแปรจะถูกแทนที่ด้วยข้อมูลเมตาของเพลง ตัวอย่างเช่น เพลงที่ดาวน์โหลดด้วยอ็อบเจ็กต์ Savify ด้านบนจะบันทึกเป็นพาธดังนี้: path/for/downloads/Example Artist/Example Album/Example Song.mp3
หากคุณต้องการลองเพิ่มลงใน Savify ให้ใช้คำแนะนำที่นี่ จากนั้นคุณสามารถทำการเพิ่มเติมใดๆ ที่คุณคิดว่าจะทำให้ Savify ดีขึ้นได้
หากคุณกำลังพัฒนา Savify ให้ติดตั้งแพ็คเกจ pip ภายในเครื่อง เพื่อให้คุณสามารถสร้างและทดสอบการเปลี่ยนแปลงของคุณได้ จากไดเร็กทอรีรากให้รัน:
$ pip install -e .
จากนั้นคุณสามารถรันโมดูล Python ได้:
$ savify
แพ็คเกจนี้สร้างขึ้นด้วย Cookiecutter และเทมเพลตโครงการ audreyr/cookiecutter-pypackage