╔══════════════════════════════════════════════════════════════════╗ ║ ║ ║ 𝕋ℍℝ𝔼𝔸𝔻𝕊 ℂ𝕆ℕ𝕋𝔼ℕ𝕋 ℂ𝕆𝕃𝕃𝔼ℂ𝕋𝕆ℝ ║ ║ ║ ║ ─── Disney · Zootopia ─── ║ ║ ║ ║ ✦ ✧ ❋ ❋ ✧ ✦ ║ ║ ║ ║ Collect • Archive • Organize ║ ║ Your Passion, Preserved Forever ║ ║ ║ ╚══════════════════════════════════════════════════════════════════╝
🐰 Judy Hopps · Nick Wilde 🦊
🌏 繁體中文 • 📚 Documentation Portal • ⚡ Quick Start • 🎨 How It Works
"I implore everyone who sees this, try. Try to make the world a better place. Look inside yourself and recognize that change starts with you."
— Judy Hopps
Collect, organize, and archive your favorite Threads posts about Disney, Zootopia, recipes, and more!
A hobby archival toolkit for Disney fans and content collectors! If you love Zootopia characters, animation discussions, themed recipes, or fan communities, this helps you:
- 🔍 Search & Save - Find posts about Judy Hopps, Nick Wilde, and your favorite topics
- 🤖 AI Organization - Smart sorting helps identify the best matches for your collection
- 💾 Local Archive - Everything saved privately on your computer
- 🎨 Media Included - Downloads photos, videos, and attachments automatically
| Interest | Examples |
|---|---|
| 🦊 Disney Characters | Zootopia, Judy Hopps, Nick Wilde, character analysis |
| 🎨 Fan Content | Cosplay builds, fan art, creative projects |
| 🍳 Themed Recipes | Pawpsicles, Disney-inspired treats, park food recreations |
| 🎬 Animation | Behind-the-scenes, technique discussions, industry news |
| 🏰 Parks & Merch | Disney experiences, collectibles, attraction updates |
🚀 Version 1.0 - December 2025
- ✅ Smart AI Classifier - Local LLM integration for intelligent content sorting
- ✅ GPU Acceleration - Multi-threaded processing for bulk collections (100+ posts/min)
- ✅ Resume Capability - Checkpoint system lets you pause and continue anytime
- ✅ Bilingual Support - Interface available in English and Traditional Chinese (繁體中文)
- ✅ Vision Analysis - Optional image/video content verification
- ✅ False Positive Detection - Smart context understanding (e.g., "Judy" the person vs. character)
🎨 What Makes This Special
Unlike generic scrapers, this tool:
- Understands context - Knows "Nick Wilde" isn't just any Nick
- Privacy-focused - Everything processes locally, no cloud uploads
- Hobby-oriented - Designed for personal collections, not commercial use
- Community-friendly - Respects rate limits and platform guidelines
|
|
Step 1: Installation (Click to expand)
- Python 3.8 or higher
- Threads account for authentication
- GPU recommended (optional, but 6x faster)
🐧 Linux
git clone https://github.com/jyusiwong/Threads-Archiver.git
cd Threads-Archiver
apt update && apt install -y libgconf-2-4 libatk1.0-0 libgbm-dev \
libnotify-dev libgdk-pixbuf2.0-0 libnss3 libxss1 libasound2 \
libxtst6 xdg-utils
pip install -r requirements.txt
playwright install chromium🍎 macOS
git clone https://github.com/jyusiwong/Threads-Archiver.git
cd Threads-Archiver
xcode-select --install
pip install -r requirements.txt
playwright install chromium🪟 Windows
git clone https://github.com/jyusiwong/Threads-Archiver.git
cd Threads-Archiver
pip install -r requirements.txt
playwright install chromiumStep 2: Collect Your First Posts
python phase1_search_download.pyWhat happens:
- Opens browser for Threads login (one-time)
- Searches for your topics (Judy Hopps, recipes, etc.)
- Scrolls through results automatically
- Downloads posts + media to your computer
- Saves in organized JSONL format
Configure your interests in the script:
TOPICS = ["Judy Hopps", "Nick Wilde", "Zootopia fan art", "Disney recipes"]
POST_LIMIT = 2000 # Max posts per topicStep 3: AI-Powered Organization (Optional)
First time setup:
.\setup_model.ps1 # Creates AI classifier
python test_classifier.py # Validates accuracyRun the sorter:
python phase2_ai_prefilter.py # Single-threaded
# OR
python phase2_ai_prefilter_multithreaded.py # 6x faster (GPU)Results:
_sorting/[topic]_posts_likely_yes.jsonl- Matches your interests ✅_sorting/[topic]_posts_uncertain.jsonl- Review these⚠️ _sorting/[topic]_posts_likely_no.jsonl- Probably skip ❌
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#e3f2fd','primaryTextColor':'#0d47a1','primaryBorderColor':'#1976d2','lineColor':'#42a5f5','secondaryColor':'#fff3e0','tertiaryColor':'#f3e5f5','noteBkgColor':'#e8f5e9','noteTextColor':'#1b5e20'}}}%%
graph TB
Start(["🎬 Start Your Collection Journey"])
Search["🔍 Search Topics<br/><small>Judy Hopps, Nick Wilde, etc.</small>"]
Download["📥 Download Posts<br/><small>Text + Images + Videos</small>"]
Save["💾 Save Locally<br/><small>JSONL Format</small>"]
AIDecision{"🤖 Enable AI Sorting?<br/><small>Optional but Recommended</small>"}
AIProcess["⚡ AI Analysis<br/><small>Context Understanding</small>"]
Relevant["✅ Highly Relevant<br/><small>Matches Your Interest</small>"]
Uncertain["⚠️ Uncertain<br/><small>Needs Review</small>"]
NotRelevant["❌ Not Relevant<br/><small>Low Match Score</small>"]
RawArchive["📁 Raw Archive<br/><small>All Posts Unsorted</small>"]
End(["🎉 Collection Complete!"])
Start ==> Search
Search ==> Download
Download ==> Save
Save ==> AIDecision
AIDecision -->|"Yes 👍"| AIProcess
AIDecision -->|"No 👎"| RawArchive
AIProcess ==> Relevant
AIProcess ==> Uncertain
AIProcess ==> NotRelevant
Relevant ==> End
Uncertain ==> End
NotRelevant ==> End
RawArchive ==> End
style Start fill:#e1f5ff,stroke:#01579b,stroke-width:3px,color:#01579b
style Search fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1b5e20
style Download fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#e65100
style Save fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px,color:#4a148c
style AIDecision fill:#fff9c4,stroke:#f57f17,stroke-width:3px,color:#f57f17
style AIProcess fill:#e0f2f1,stroke:#00695c,stroke-width:2px,color:#004d40
style Relevant fill:#c8e6c9,stroke:#388e3c,stroke-width:3px,color:#1b5e20
style Uncertain fill:#ffe0b2,stroke:#ef6c00,stroke-width:2px,color:#e65100
style NotRelevant fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:#b71c1c
style RawArchive fill:#e1bee7,stroke:#7b1fa2,stroke-width:2px,color:#4a148c
style End fill:#b2ebf2,stroke:#006064,stroke-width:3px,color:#006064
classDef processNode fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#0d47a1
classDef resultNode fill:#f1f8e9,stroke:#689f38,stroke-width:2px,color:#33691e
| Phase | Purpose | Output |
|---|---|---|
| Phase 1 | Collection | Raw posts + media in Interested_Event_Archive/ |
| Phase 2 | Organization | Sorted posts in _sorting/ by relevance |
# phase1_search_download.py - What to collect
class Config:
TOPICS = [
"Judy Hopps", # Zootopia character
"Nick Wilde", # Another favorite
"Disney recipes", # Themed cooking
"Zootopia fan art" # Creative content
]
POST_LIMIT = 2000 # Posts per topic
SCROLL_DELAY = 3 # Seconds between scrolls
# phase2_ai_prefilter.py - How to sort
class AppConfig:
MODEL_NAME = "disney-classifier" # AI model to use
HIGH_CONFIDENCE = 0.7 # Threshold for "yes"
LOW_CONFIDENCE = 0.3 # Threshold for "no"
GPU_ACTIVE = True # Use GPU accelerationThreads-Archiver/
│
├── 📝 Core Scripts
│ ├── phase1_search_download.py # Search & download posts
│ ├── phase2_ai_prefilter.py # AI sorting (single-thread)
│ └── phase2_ai_prefilter_multithreaded.py # AI sorting (parallel)
│
├── 🤖 AI Configuration
│ ├── Modelfile # Custom AI model definition
│ ├── setup_model.ps1 # Automated setup script
│ └── test_classifier.py # Validation test suite
│
├── 📚 Documentation
│ ├── README.md # This file
│ ├── README.zh.md # 繁體中文版本
│ ├── QUICK_REFERENCE.md # Quick start guide
│ ├── MODEL_SETUP_README.md # AI setup tutorial
│ └── MODELFILE_GUIDE.md # Advanced configuration
│
├── 💾 Data Directories
│ ├── Interested_Event_Archive/ # Your collected posts & media
│ ├── thread_sessions/ # Login sessions (local only)
│ └── _sorting/ # AI-organized outputs
│ ├── checkpoints/ # Resume points
│ ├── *_posts_likely_yes.jsonl # High relevance ✅
│ ├── *_posts_uncertain.jsonl # Review needed ⚠️
│ └── *_posts_likely_no.jsonl # Low relevance ❌
│
└── ⚙️ Configuration
└── requirements.txt # Python dependencies
- 🎨 Building personal Disney character collections
- 📖 Archiving fan discussions and theories
- 🍳 Saving themed recipe posts for later
- 🎓 Learning about AI and data organization
- 💝 Creating curated content libraries for hobbies
- 💼 Commercial data harvesting
- 🔓 Violating privacy or platform ToS
- 📊 Large-scale analytics or research
- 💰 Any for-profit activities
This is a personal hobby tool. Please:
- ✅ Follow local laws and platform guidelines
- ✅ Respect content creators' rights
- ✅ Keep data private and secure
- ✅ Use for personal, non-commercial purposes
- ✅ Be mindful of rate limits and server load
Found a bug? Have a feature idea? Contributions welcome!
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/AmazingFeature) - 💾 Commit your changes (
git commit -m 'Add some AmazingFeature') - 📤 Push to the branch (
git push origin feature/AmazingFeature) - 🔃 Open a Pull Request
MIT License - See LICENSE for details.
In Short:
- ✅ Use for personal projects
- ✅ Modify as you like
- ✅ Share with others
⚠️ Include original license notice⚠️ No warranty provided
If this project helped you or inspired your work, consider citing it to support community development:
@software{threads_collector_2025,
author = {jyusiwong},
title = {Threads Content Collector: Disney & Zootopia Archive Toolkit},
year = {2025},
url = {https://github.com/jyusiwong/Threads-Collector},
note = {A hobby archival toolkit for Disney fans with AI-powered organization}
}APA Style:
jyusiwong. (2025). Threads Content Collector: Disney & Zootopia Archive Toolkit [Computer software]. GitHub. https://github.com/jyusiwong/Threads-Collector
MLA Style:
jyusiwong. Threads Content Collector: Disney & Zootopia Archive Toolkit. GitHub, 2025, https://github.com/jyusiwong/Threads-Collector.
Collect what you love. Organize what matters. Archive your passion.
🦊 Happy Collecting! | 🐰 Enjoy Your Archive! | 🎨 Share Your Passion!