TopGit theo dõi wkentaro/gdown trên GitHub trong nhóm Backend, đã đạt 5.3k sao. Google Drive public file downloader when curl/wget fails.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Google Drive public file/folder downloader when curl/wget fails.
Why?
Downloading public files from Google Drive with curl or wget doesn't work —
Google serves a confirmation page for large files, and the URL formats are a mess.
gdown gets around that:
Skips the virus-scan confirmation page so large downloads actually finish
Downloads folders recursively
Exports Google Docs/Sheets/Slides as PDF, DOCX, CSV, etc.
Resumes partial downloads with --continue
Also works with plain HTTP/HTTPS URLs as a curl/wget replacement
Install
Requires Python 3.10 or later.
pip install gdown
Or with uv:
uv tool install gdown
Quick start
# Just paste a Google Drive URL
gdown https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ
# Or copy-paste a share link directly
gdown 'https://drive.google.com/file/d/0B9P1L--7Wd2vU3VUVlFnbTgtS2c/view?usp=sharing'
Usage
CLI
Files
# Download by URL
gdown https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ
# Download by file ID
gdown 1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ
# Download from a share link
gdown 'https://drive.google.com/file/d/0B9P1L--7Wd2vU3VUVlFnbTgtS2c/view?usp=sharing'
# Save to a specific path
gdown https://drive.google.com/uc?id=0B9P1L--7Wd2vU3VUVlFnbTgtS2c -O /tmp/spam.txt
# Resolve the filename (with its real extension) without downloading
gdown https://drive.google.com/uc?id=0B9P1L--7Wd2vU3VUVlFnbTgtS2c --json
--json is in beta and its output format may change in a future release; pass
--quiet to silence the beta warning in scripts. The output is an array of
{url, path} entries, where path is the filename Google Drive reports. This
lets you choose a name while keeping the original extension:
# Download an entire folder
gdown https://drive.google.com/drive/folders/15uNXeRBIhVvZJIhL4yTw4IsStMhUaaxl -O /tmp/folder --folder
# List folder contents as a JSON array (each entry has url and path)
gdown https://drive.google.com/drive/folders/15uNXeRBIhVvZJIhL4yTw4IsStMhUaaxl --folder --json
# Filter by path and download matches
gdown https://drive.google.com/drive/folders/15uNXeRBIhVvZJIhL4yTw4IsStMhUaaxl --folder --json \
| jq -r '.[] | select(.path | test("shad")) | .url' \
| xargs -n1 gdown
Google Docs, Sheets, Slides
# Download a Google Slides file (default: pptx)
gdown "https://docs.google.com/presentation/d/15umvZKlsJ3094HNg5S4vJsIhxcFlyTeK/edit?usp=sharing"
# Export as PDF instead
gdown "https://docs.google.com/presentation/d/15umvZKlsJ3094HNg5S4vJsIhxcFlyTeK/edit" --format pdf
# Skip TLS certificate verification
gdown https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ --no-check-certificate
# Don't use cookies from ~/.cache/gdown/cookies.txt
gdown https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ --no-cookies
# Use a custom User-Agent
gdown https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ --user-agent "MyApp/1.0"
Pipe to stdout
gdown https://github.com/wkentaro/gdown/archive/refs/tags/v4.0.0.tar.gz -O - --quiet | tar zxvf -
Any URL
gdown also works with regular URLs, not just Google Drive:
gdown https://httpbin.org/ip -O ip.json
[!NOTE]
For Google Drive URLs, gdown automatically extracts the file ID and downloads
the actual file. Use curl or wget to download the raw HTML page instead.
Python
import gdown
# Download a file
url = "https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ"
gdown.download(url=url, output="fcn8s_from_caffe.npz")
# Download by file ID
gdown.download(id="0B9P1L--7Wd2vNm9zMTJWOGxobkU", output="output.npz")
# Download from a share link
url = "https://drive.google.com/file/d/0B9P1L--7Wd2vNm9zMTJWOGxobkU/view?usp=sharing"
gdown.download(url=url, output="output.npz")
# Download with hash verification and caching
gdown.cached_download(
url=url,
path="output.npz",
hash="md5:fa837a88f0c40c513d975104edf3da17",
postprocess=gdown.extractall,
)
# Track download progress
def on_progress(bytes_so_far: int, bytes_total: int | None) -> None:
if bytes_total is not None:
print(f"\r{bytes_so_far / bytes_total * 100:.1f}%", end="")
gdown.download(url=url, output="output.npz", quiet=True, progress=on_progress)
# Download a folder
url = "https://drive.google.com/drive/folders/15uNXeRBIhVvZJIhL4yTw4IsStMhUaaxl"
gdown.download_folder(url=url)
# Download a folder by ID
gdown.download_folder(id="15uNXeRBIhVvZJIhL4yTw4IsStMhUaaxl")
FAQ
"Permission Denied" error
Make sure the file sharing is set to "Anyone with the link".
Download still fails even with "Anyone with the link"
Google throttles downloads when too many people access the same file.
If you can still open the file in your browser, try exporting cookies:
Install a browser extension like Get cookies.txt LOCALLY
Export cookies.txt and move it to ~/.cache/gdown/cookies.txt
Run the download again
Once the file is in place, gdown loads it automatically (no extra flags needed).
Download stops after ~1 hour
Google Drive terminates connections after approximately 1 hour for large files.
Use --continue to resume, and retry until the download completes:
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/wkentaro/gdown là nguồn chính thức.
wkentaro/gdown có những chủ đề gì?
GitHub topics của wkentaro/gdown: "curl", "download", "downloader", "google-drive", "python", "wget". TopGit xếp repo vào nhóm Backend.
wkentaro/gdown có phải mã nguồn mở không?
Có — wkentaro/gdown phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/wkentaro/gdown.
wkentaro/gdown có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho wkentaro/gdown. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
wkentaro/gdown còn đang phát triển không?
Commit gần nhất trên wkentaro/gdown là 13 ngày trước (theo timestamp GitHub). Repo có 424 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
wkentaro/gdown dùng license gì?
wkentaro/gdown phát hành theo license MIT. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về gdown?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về gdown.