WeiboClient — Social Automation Client & API Integration Suite
Side Project
Individual Role: Backend & API Integration Developer
WeiboClient is an extensible Python automation client and CLI toolkit designed for social media automation, media pipeline uploads, keyword sentiment extraction, and authenticated session management with MongoDB storage and serverless function deployment.
GitHub: opedium/WeiboClient
Interface: Interactive CLI + Python SDK
Storage: MongoDB + Appwrite Cloud Functions
TECHNOLOGY STACK:
Python 3
Interactive CLI (Readline)
MongoDB Persistence
RESTful API Automation
Appwrite Cloud Functions
Multi-Part Media Uploads
Cookie Session Manager
System Pipeline & Cloud Architecture
CLI / Headless Task
Cookie Session Manager
Chunked Media Uploader
Appwrite Serverless
MongoDB Atlas Storage
System Architecture & Key Engineering Features
1. Interactive CLI & Batch Action Execution (
client.py)Engineered a command-line interface featuring tab completion, command history, and modular action dispatching.
- Interactive menu mode with categorized action codes (media publishing, user following, timeline querying, topic searching).
- Dry-run execution mode (
--dry-run) inspecting generated request headers and body payloads before network dispatch. - Batch parameter automation supporting headless script integration and scheduled task queues.
# Chunked binary image/video upload handler
def upload_pic(self, file_path: str) -> dict:
with open(file_path, 'rb') as f:
files = {'pic': (os.path.basename(file_path), f, 'image/jpeg')}
res = self.session.post(API_UPLOAD_URL, files=files, headers=self._auth_headers())
return res.json() # Extracts dynamic pic_id for post payload
2. Multi-Part Binary Media Upload Pipeline
Architected robust media upload handlers for image and high-resolution video assets.
- Built chunked multi-part upload protocols extracting video
media_idand dynamic thumbnailcover_pidpointers. - Bidirectional conversion utilities transforming alphanumeric base-62 blog identifiers (
bid) into internal 64-bit integer IDs (mid). - MIME type verification and automatic image dimension validation prior to transmission.
3. Serverless Integration & MongoDB Database Persistence
Structured cloud storage schemas and serverless function dispatch pipelines for high availability.
- Designed MongoDB document schemas indexing extracted social timelines, keyword sentiments, and engagement metrics.
- Deployed Appwrite serverless cloud functions to execute periodic background monitoring jobs without local machine dependency.
- Configured secure environment variable injection for credentials and API keys.