gallery-dl เป็นโปรแกรมบรรทัดคำสั่งสำหรับดาวน์โหลดแกลเลอรีรูปภาพและคอลเลกชันจากไซต์โฮสต์รูปภาพหลายแห่ง (ดูไซต์ที่รองรับ) เป็นเครื่องมือข้ามแพลตฟอร์มที่มีตัวเลือกการกำหนดค่ามากมายและความสามารถในการตั้งชื่อไฟล์ที่ทรงพลัง
สารบัญ
การพึ่งพาอาศัยกัน
ไม่จำเป็น
การติดตั้ง
ปิ๊ป
ปฏิบัติการแบบสแตนด์อโลน
งานสร้างยามค่ำคืน
สแน็ป
ช็อคโกแลต
ตัก
โฮมบรูว์
แมคพอร์ต
นักเทียบท่า
การใช้งาน
ตัวอย่าง
การกำหนดค่า
เอกสารประกอบ
สถานที่
การรับรองความถูกต้อง
ชื่อผู้ใช้และรหัสผ่าน
คุกกี้
OAuth
ไพธอน 3.4+
คำขอ
yt-dlp หรือ youtube-dl: ดาวน์โหลดวิดีโอ HLS/DASH, บูรณาการ ytdl
FFmpeg: การแปลง Pixiv Ugoira
mkvmerge: รหัสเวลาเฟรม Ugoira ที่แม่นยำ
PySocks: รองรับพร็อกซี SOCKS
brotli หรือ brotlicffi: รองรับการบีบอัด Brotli
zstandard: รองรับการบีบอัด Zstandard
PyYAML: รองรับไฟล์การกำหนดค่า YAML
toml: รองรับไฟล์การกำหนดค่า TOML สำหรับ Python <3.11
SecretStorage: รหัสผ่านพวงกุญแจ GNOME สำหรับ --cookies-from-browser
gallery-dl รุ่นเสถียรมีการกระจายบน PyPI และสามารถติดตั้งหรืออัปเกรดได้อย่างง่ายดายโดยใช้ pip:
python3 -m pip ติดตั้ง -U gallery-dl
การติดตั้งเวอร์ชัน dev ล่าสุดโดยตรงจาก GitHub สามารถทำได้ด้วย pip เช่นกัน:
python3 -m pip ติดตั้ง -U -I --no-deps --no-cache-dir https://github.com/mikf/gallery-dl/archive/master.tar.gz
หมายเหตุ: ผู้ใช้ Windows ควรใช้ py -3
แทน python3
ขอแนะนำให้ใช้ pip เวอร์ชันล่าสุด รวมถึงแพ็คเกจ setuptools
และ wheel
ที่จำเป็น เพื่อให้แน่ใจว่าแพ็คเกจเหล่านี้ทันสมัย ให้รัน
python3 -m pip install --upgrade pip setuptools wheel
ไฟล์ปฏิบัติการที่สร้างไว้ล่วงหน้าพร้อมล่าม Python และแพ็คเกจ Python ที่จำเป็นรวมอยู่ด้วย
Windows (ต้องใช้ Microsoft Visual C++ Redistributable Package (x86))
ลินุกซ์
สามารถดูไฟล์ปฏิบัติการที่สร้างจากคอมมิตล่าสุดได้ที่
https://github.com/gdl-org/builds/releases
ผู้ใช้ Linux ที่ใช้ distro ที่ Snapd รองรับสามารถติดตั้ง gallery-dl จาก Snap Store ได้:
snap ติดตั้ง gallery-dl
ผู้ใช้ Windows ที่ติดตั้ง Chocolatey สามารถติดตั้ง gallery-dl จากที่เก็บ Chocolatey Community Package:
choco ติดตั้ง gallery-dl
gallery-dl ยังมีอยู่ในถัง "main" ของ Scoop สำหรับผู้ใช้ Windows:
สกู๊ปติดตั้ง gallery-dl
สำหรับผู้ใช้ macOS หรือ Linux ที่ใช้ Homebrew:
ชงติดตั้ง gallery-dl
สำหรับผู้ใช้ macOS ที่มี MacPort:
พอร์ต sudo ติดตั้ง gallery-dl
การใช้ Dockerfile ในพื้นที่เก็บข้อมูล:
โคลนคอมไพล์ https://github.com/mikf/gallery-dl.gitcd gallery-dl/ นักเทียบท่า build -t gallery-dl:latest
การดึงภาพจาก Docker Hub:
นักเทียบท่าดึง mikf123/gallery-dl แท็กนักเทียบท่า mikf123/gallery-dl gallery-dl
การดึงภาพจาก GitHub Container Registry:
นักเทียบท่าดึง ghcr.io/mikf/gallery-dl แท็กนักเทียบท่า ghcr.io/mikf/gallery-dl gallery-dl
หากต้องการเรียกใช้คอนเทนเนอร์ คุณอาจต้องการแนบไดเร็กทอรีบางส่วนบนโฮสต์เพื่อให้ไฟล์กำหนดค่าและการดาวน์โหลดสามารถคงอยู่ตลอดการรันได้
ตรวจสอบให้แน่ใจว่าได้ดาวน์โหลดตัวอย่างการอ้างอิงไฟล์กำหนดค่าใน repo แล้ววางไว้ในตำแหน่งโวลุ่มที่เมาท์หรือแตะไฟล์ว่างที่นั่น
หากคุณให้แท็กอื่นแก่คอนเทนเนอร์หรือใช้ podman ตรวจสอบให้แน่ใจว่าคุณได้ปรับเปลี่ยน เรียกใช้ docker image ls
เพื่อตรวจสอบชื่อหากคุณไม่แน่ใจ
วิธีนี้จะถอดคอนเทนเนอร์ออกหลังการใช้งานทุกครั้ง ดังนั้นคุณจึงจะมีสภาพแวดล้อมที่สดใหม่สำหรับใช้งานอยู่เสมอ หากคุณตั้งค่าไปป์ไลน์ ci-cd เพื่อสร้างคอนเทนเนอร์อัตโนมัติ คุณสามารถเพิ่ม --pull=newer
แฟล็ก เพื่อที่ว่าเมื่อคุณรันมัน นักเทียบท่าจะตรวจสอบเพื่อดูว่ามีคอนเทนเนอร์ที่ใหม่กว่าหรือไม่ และดาวน์โหลดก่อนรัน
นักเทียบท่าวิ่ง --rm -v $HOME/ดาวน์โหลด/:/gallery-dl/ -v $HOME/.config/gallery-dl/gallery-dl.conf:/etc/gallery-dl.conf -it gallery-dl: ล่าสุด
คุณยังสามารถเพิ่มนามแฝงให้กับเชลล์ของคุณสำหรับ "gallery-dl" หรือสร้างสคริปต์ bash แบบง่ายๆ แล้ววางไว้ที่ไหนสักแห่งใน $PATH ของคุณเพื่อทำหน้าที่เป็น shim สำหรับคำสั่งนี้
หากต้องการใช้ gallery-dl เพียงเรียกมันด้วย URL ที่คุณต้องการดาวน์โหลดภาพจาก:
gallery-dl [ตัวเลือก]... URLS...
ใช้ gallery-dl --help
หรือดู docs/options.md เพื่อดูรายการตัวเลือกบรรทัดคำสั่งทั้งหมด
ดาวน์โหลดภาพ; ในกรณีนี้จาก danbooru ผ่านการค้นหาแท็กสำหรับ 'bonocho':
gallery-dl "https://danbooru.donmai.us/posts?tags=bonocho"
รับ URL ตรงของรูปภาพจากไซต์ที่รองรับการตรวจสอบสิทธิ์ด้วยชื่อผู้ใช้และรหัสผ่าน:
gallery-dl -g -u "<ชื่อผู้ใช้>" -p "<รหัสผ่าน>" "https://twitter.com/i/web/status/604341487988576256"
กรองบทมังงะตามหมายเลขบทและภาษา:
gallery-dl --chapter-filter "10 <= บท < 20" -o "lang=fr" "https://mangadex.org/title/59793dd0-a2d8-41a2-9758-8197287a8539"
ค้นหาทรัพยากรระยะไกลสำหรับ URL และดาวน์โหลดภาพจากพวกเขา:
(URL ที่ไม่พบตัวแยกข้อมูลจะถูกละเว้นโดยไม่แจ้งให้ทราบ)
gallery-dl "r:https://pastebin.com/raw/FLwrCYsT"
หากที่อยู่ของไซต์ไม่เป็นไปตามมาตรฐานสำหรับตัวแยกข้อมูล คุณสามารถเติมชื่อ URL นำหน้า URL เพื่อบังคับใช้ตัวแยกข้อมูลเฉพาะได้:
gallery-dl "tumblr:https://sometumblrblog.example"
ไฟล์การกำหนดค่าสำหรับ gallery-dl ใช้รูปแบบไฟล์ที่ใช้ JSON
รายการตัวเลือกการกำหนดค่าที่มีอยู่ทั้งหมดและคำอธิบายมีอยู่ที่ https://gdl-org.github.io/docs/configuration.html
สำหรับไฟล์การกำหนดค่าเริ่มต้นที่มีตัวเลือกที่ใช้งานได้ซึ่งตั้งค่าเป็นค่าเริ่มต้น โปรดดูที่ docs/gallery-dl.conf
สำหรับตัวอย่างที่มีการแสดงความคิดเห็นซึ่งมีการตั้งค่าที่เกี่ยวข้องมากขึ้นและการใช้ตัวเลือก โปรดดูที่ docs/gallery-dl-example.conf
gallery-dl ค้นหาไฟล์การกำหนดค่าในตำแหน่งต่อไปนี้:
หน้าต่าง:
( %USERPROFILE%
มักจะหมายถึงโฮมไดเร็กตอรี่ของผู้ใช้ เช่น C:Users<username>
)
%APPDATA%gallery-dlconfig.json
%USERPROFILE%gallery-dlconfig.json
%USERPROFILE%gallery-dl.conf
ลินุกซ์, macOS ฯลฯ :
/etc/gallery-dl.conf
${XDG_CONFIG_HOME}/gallery-dl/config.json
${HOME}/.config/gallery-dl/config.json
${HOME}/.gallery-dl.conf
เมื่อเรียกใช้ในรูปแบบปฏิบัติการ gallery-dl จะค้นหาไฟล์ gallery-dl.conf
ในไดเร็กทอรีเดียวกับที่เรียกใช้งานได้ดังกล่าว
คุณสามารถใช้ไฟล์การกำหนดค่าได้มากกว่าหนึ่งไฟล์ในแต่ละครั้ง ในกรณีนี้ ค่าใดๆ จากไฟล์หลังจากไฟล์แรกจะถูกรวมเข้ากับการตั้งค่าที่โหลดไว้แล้ว และอาจแทนที่ค่าก่อนหน้า
เครื่องมือแยกข้อมูลบางตัวกำหนดให้คุณต้องระบุข้อมูลรับรองการเข้าสู่ระบบที่ถูกต้องในรูปแบบของคู่ชื่อผู้ใช้และรหัสผ่าน นี่เป็นสิ่งจำเป็นสำหรับ nijie
และเป็นทางเลือกสำหรับ aryion
, danbooru
, e621
, exhentai
, idolcomplex
, imgbb
, inkbunny
, mangadex
, mangoxo
, pillowfort
, sankaku
, subscribestar
, tapas
, tsumino
, twitter
และ zerochan
คุณสามารถตั้งค่าข้อมูลที่จำเป็นในไฟล์กำหนดค่าของคุณได้
{ "ตัวแยก": { "twitter": { "ชื่อผู้ใช้": "<ชื่อผู้ใช้>", "รหัสผ่าน": "<รหัสผ่าน>" - - -
หรือคุณสามารถระบุได้โดยตรงผ่านทาง -u/--username
และ -p/--password
หรือผ่านทางตัวเลือกบรรทัดคำสั่ง -o/--option
gallery-dl -u "<ชื่อผู้ใช้>" -p "<รหัสผ่าน>" "URL"gallery-dl -o "ชื่อผู้ใช้=<ชื่อผู้ใช้>" -o "รหัสผ่าน=<รหัสผ่าน>" "URL"
สำหรับไซต์ที่ไม่สามารถเข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านได้เนื่องจาก CAPTCHA หรือที่คล้ายกัน หรือยังไม่ได้ใช้งาน คุณสามารถใช้คุกกี้จากเซสชันการเข้าสู่ระบบของเบราว์เซอร์และป้อนข้อมูลลงใน gallery-dl
ซึ่งสามารถทำได้ผ่านตัวเลือกคุกกี้ในไฟล์กำหนดค่าของคุณโดยระบุ
เส้นทางไปยังไฟล์ Cookies.txt ในรูปแบบ Mozilla/Netscape ที่ส่งออกโดย Addon ของเบราว์เซอร์
(เช่น รับคุกกี้.txt LOCALLY สำหรับ Chrome, ส่งออกคุกกี้สำหรับ Firefox)
รายการคู่ชื่อ-ค่าที่รวบรวมจากเครื่องมือสำหรับนักพัฒนาเว็บของเบราว์เซอร์ของคุณ
(ใน Chrome ใน Firefox)
ชื่อของเบราว์เซอร์ที่จะแยกคุกกี้ออกมา
(เบราว์เซอร์ที่รองรับคือเบราว์เซอร์ที่ใช้ Chromium, Firefox และ Safari)
ตัวอย่างเช่น:
{ "ตัวแยก": { "instagram": { "คุกกี้": "$HOME/path/to/cookies.txt" }, "patreon": { "คุกกี้": { "session_id": "K1T57EKu19TR49C51CDjOJoXNQLF7VbdVOiBrC9ye0a" - }, "twitter": { "คุกกี้": ["firefox"] - - -
คุณยังสามารถระบุไฟล์ cookie.txt ด้วยตัวเลือกบรรทัดคำสั่ง --cookies
หรือเบราว์เซอร์เพื่อแยกคุกกี้ด้วย --cookies-from-browser
:
gallery-dl --cookies "$HOME/path/to/cookies.txt" "URL"gallery-dl --cookies-จากเบราว์เซอร์ firefox "URL"
gallery-dl รองรับการตรวจสอบสิทธิ์ผู้ใช้ผ่าน OAuth สำหรับตัวแยกข้อมูลบางตัว นี่เป็นสิ่งจำเป็นสำหรับ pixiv
และเป็นทางเลือกสำหรับอินสแตนซ์ deviantart
, flickr
, reddit
, smugmug
, tumblr
และ mastodon
การเชื่อมโยงบัญชีของคุณกับ gallery-dl ทำให้สามารถออกคำขอในนามของบัญชีของคุณ และช่วยให้สามารถเข้าถึงทรัพยากรที่ผู้ใช้สาธารณะอาจไม่สามารถเข้าถึงได้
โดยเริ่มต้นด้วยการเรียกใช้ด้วย oauth:<sitename>
เป็นอาร์กิวเมนต์ ตัวอย่างเช่น:
แกลเลอรี-dl oauth:flickr
คุณจะถูกส่งไปยังหน้าการอนุญาตของไซต์ และขอให้ให้สิทธิ์ในการอ่าน gallery-dl ให้สิทธิ์แล้วคุณจะเห็น "โทเค็น" หนึ่งรายการขึ้นไป ซึ่งควรเพิ่มลงในไฟล์การกำหนดค่าของคุณ
หากต้องการตรวจสอบสิทธิ์กับอินสแตนซ์ mastodon
ให้เรียกใช้ gallery-dl โดยมี oauth:mastodon:<instance>
เป็นอาร์กิวเมนต์ ตัวอย่างเช่น:
gallery-dl oauth:mastodon:pawoo.net gallery-dl oauth:mastodon:https://mastodon.social/