Skip to content

jyusiwong/Threads-Collector

Repository files navigation

╔══════════════════════════════════════════════════════════════════╗
β•‘                                                                  β•‘
β•‘                π•‹β„β„π”Όπ”Έπ”»π•Š  ℂ𝕆ℕ𝕋𝔼ℕ𝕋  ℂ𝕆𝕃𝕃𝔼ℂ𝕋𝕆ℝ                  β•‘
β•‘                                                                  β•‘
β•‘                    ─── Disney Β· Zootopia ───                     β•‘
β•‘                                                                  β•‘
β•‘         ✦       ✧       ❋       ❋       ✧       ✦             β•‘
β•‘                                                                  β•‘
β•‘                Collect  β€’  Archive  β€’  Organize                  β•‘
β•‘                 Your Passion, Preserved Forever                  β•‘
β•‘                                                                  β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

🐰 Judy Hopps · Nick Wilde 🦊


🎯 Project Status & Navigation

Python License Status Christmas

🌏 繁體中文 β€’ πŸ“š 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!


✨ What Is This?

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

🎯 Perfect For

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

πŸ“° Recent 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

πŸ“š Documentation

πŸš€ Quick Start Guides

πŸ“– Detailed Documentation


⚑ Quick Start

Step 1: Installation (Click to expand)

Prerequisites

  • Python 3.8 or higher
  • Threads account for authentication
  • GPU recommended (optional, but 6x faster)

Platform-Specific Setup

🐧 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 chromium
Step 2: Collect Your First Posts

Phase 1: Search & Download

python phase1_search_download.py

What happens:

  1. Opens browser for Threads login (one-time)
  2. Searches for your topics (Judy Hopps, recipes, etc.)
  3. Scrolls through results automatically
  4. Downloads posts + media to your computer
  5. 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 topic
Step 3: AI-Powered Organization (Optional)

Phase 2: Smart Sorting

First time setup:

.\setup_model.ps1          # Creates AI classifier
python test_classifier.py  # Validates accuracy

Run 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 ❌

🎨 How It Works

%%{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
Loading

Two-Phase Workflow

Phase Purpose Output
Phase 1 Collection Raw posts + media in Interested_Event_Archive/
Phase 2 Organization Sorted posts in _sorting/ by relevance

βš™οΈ Configuration

Customize Your Interests

# 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 acceleration

πŸ“ Project Structure

Threads-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

🌟 Use Cases

βœ… Great For:

  • 🎨 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

❌ Not For:

  • πŸ’Ό Commercial data harvesting
  • πŸ”“ Violating privacy or platform ToS
  • πŸ“Š Large-scale analytics or research
  • πŸ’° Any for-profit activities

πŸ›‘οΈ Responsible Use

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

🀝 Contributing

Found a bug? Have a feature idea? Contributions welcome!

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/AmazingFeature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add some AmazingFeature')
  4. πŸ“€ Push to the branch (git push origin feature/AmazingFeature)
  5. πŸ”ƒ Open a Pull Request

πŸ“„ License

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

πŸ“– Citation (Optional)

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.

🎬 Made with ❀️ for Disney Fans

Collect what you love. Organize what matters. Archive your passion.

⬆️ Back to Top


🦊 Happy Collecting! | 🐰 Enjoy Your Archive! | 🎨 Share Your Passion!

About

Fan Based Threads Collector to capture your favourite events!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •