{"id":26790564,"url":"https://github.com/aaronlmathis/leetscraper","last_synced_at":"2026-01-07T23:02:58.412Z","repository":{"id":284944190,"uuid":"956572419","full_name":"aaronlmathis/leetscraper","owner":"aaronlmathis","description":"Simple web scraper that gets the leetcode problem of the day (or any problem by number)","archived":false,"fork":false,"pushed_at":"2025-03-28T13:42:59.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T14:34:39.295Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronlmathis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-28T13:35:47.000Z","updated_at":"2025-03-28T13:43:03.000Z","dependencies_parsed_at":"2025-03-28T14:45:08.321Z","dependency_job_id":null,"html_url":"https://github.com/aaronlmathis/leetscraper","commit_stats":null,"previous_names":["aaronlmathis/leetscraper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlmathis%2Fleetscraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlmathis%2Fleetscraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlmathis%2Fleetscraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlmathis%2Fleetscraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronlmathis","download_url":"https://codeload.github.com/aaronlmathis/leetscraper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246196035,"owners_count":20738994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-29T14:29:14.999Z","updated_at":"2026-01-07T23:02:58.405Z","avatar_url":"https://github.com/aaronlmathis.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧠 LeetScraper\n[![GitHub release](https://img.shields.io/github/v/release/aaronlmathis/leetscraper?label=Download)](https://github.com/aaronlmathis/leetscraper/releases/latest)\n\n**LeetScraper** is a command-line tool that fetches the [LeetCode](https://leetcode.com) Daily Challenge (or any specific problem) and saves it as well-formatted, language-specific source files — complete with problem description, difficulty, and starter code.\n\n\u003e 🔓 Open Source | 🐹 Written in Go | 📘 GPL-3.0 Licensed\n\n---\n\n## ✨ Features\n\n- ✅ Fetches **daily challenge** or specific problem by slug  \n- ✅ Outputs clean, readable **source files** with problem description  \n- ✅ Supports **multiple languages** (Go, Python, Java, Rust, etc.)  \n- ✅ Fully configurable with `--flags` or `~/.leetscraper.json`  \n- ✅ Clean CLI and **GitHub Actions-based release automation**\n\n---\n\n## 📦 Installation\n\n### 🐳 Download prebuilt binary\n\n\nPrecompiled binaries are available inside archives for major platforms:\n\n- **Linux (x86_64)**: [leetscraper-linux.tar.gz](https://github.com/aaronlmathis/leetscraper/releases/latest/download/leetscraper-linux.tar.gz)\n- **macOS (arm64)**: [leetscraper-darwin.tar.gz](https://github.com/aaronlmathis/leetscraper/releases/latest/download/leetscraper-darwin.tar.gz)\n- **Windows (x86_64)**: [leetscraper-windows.zip](https://github.com/aaronlmathis/leetscraper/releases/latest/download/leetscraper-windows.zip)\n\nOr visit the [Releases page](https://github.com/aaronlmathis/leetscraper/releases) to download and verify checksums.\n\n```sh\n# Example (Linux):\ncurl -LO https://github.com/aaronlmathis/leetscraper/releases/latest/download/leetscraper-linux.tar.gz\ntar -xzf leetscraper-linux.tar.gz\nchmod +x leetscraper\n./leetscraper --help\n```\n\n### 🛠 Or build from source:\n\n```bash\ngit clone https://github.com/aaronlmathis/leetscraper.git\ncd leetscraper\nmake build\n./dist/leetscraper --help\n```\n\n---\n\n## 🚀 Usage\n\n### ➤ Daily Challenge (default)\nWill default to pulling golang snippet, saving to working directory, using filename format: {id}-{difficulty}-{slug}.{ext} if .leetscraper.json is not present in home directory.\n```bash\nleetscraper\n```\n\n### ➤ Specific Problem by Slug\n\n```bash\nleetscraper --slug two-sum\n```\n\n### ➤ Custom Output Directory\n\n```bash\nleetscraper --out ~/leetcode/daily\n```\n\n### ➤ Multiple Languages\n\n```bash\nleetscraper --langs golang,python3,rust\n```\n### ➤ File Naming \n```bash\nleetscraper --format {id}-{difficulty}-{slug}.{ext}\n```\n---\n\n## ⚙️ Configuration\nSet your preferences (optional) via .leetscraper.json saved to home directory.\n\nSee `leetscraper.json.sample` for example.\n\n`~/.leetscraper.json`:\n\n```json\n{\n  \"outputDir\": \"/home/you/leetcode\",\n  \"filenameFormat\": \"{id}-{difficulty}-{slug}.{ext}\",\n  \"languages\": [\"golang\", \"python3\"]\n}\n```\n\nCommand-line flags will **override** config file values.\n\n---\n\n## 📁 Output Example\n\n```text\n123-easy-two-sum.go\n123-easy-two-sum.py\n123-easy-two-sum.rs\n```\n\nEach file includes:\n\n- Problem title, difficulty, and link  \n- Full problem description (Markdown)  \n- Starter function in your language(s)\n\n---\n\n## 🔧 Development\n\n```bash\nmake build        # Build binary into dist/\nmake test         # Run integration tests\nmake release      # Cross-compile for release\nmake package      # Create .tar.gz and .zip archives\n```\n\n---\n\n## 🧪 Test Example\n\n```bash\n./test/test_leetscraper.sh\n```\n\nOr run as part of `make test`.\n\n---\n\n## 📜 License\n\n**GPL-3.0-or-later**  \n© 2025 [Aaron Mathis](mailto:aaron.mathis@gmail.com)\n\n---\n\n## ⭐️ Star This Project\n\nIf this tool saves you time, consider [⭐ starring the repo](https://github.com/aaronlmathis/leetscraper) — it helps more developers discover it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronlmathis%2Fleetscraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronlmathis%2Fleetscraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronlmathis%2Fleetscraper/lists"}