🤖 Instagram Auto-Liker – KI-gestützte Desktop-Automation

OpenCV Template-Matching + Tesseract OCR + menschliche Bewegungsmuster

PythonOpenCVTesseractPyAutoGUIOCR

🚀 Bereit für Ihre digitale Transformation?

Vereinbaren Sie ein unverbindliches Strategiegespräch

📞 02406 803 7603 ✉️ info@computerkumpel.de

📊 Business Value

Dieses Tool demonstriert fortgeschrittene Desktop-Automation: Computer Vision (OpenCV) erkennt UI-Elemente, Tesseract OCR liest Text aus Screenshots, und PyAutoGUI simuliert menschliche Mausbewegungen. Eine Blaupause für RPA-Projekte jeder Art.

👁️
Computer Vision
OpenCV Template-Matching mit Multi-Scale-Suche erkennt Buttons auch bei unterschiedlichen Bildschirmauflösungen.
🧑
Human Simulation
Mausbewegungen in mehreren Schritten, zufällige Offsets, variable Klick-Dauer – nicht von einem Bot unterscheidbar.
🔤
OCR Username-Erkennung
Tesseract OCR liest Instagram-Usernamen aus Screenshot-Regionen – Regex-Validierung filtert Noise.
📊
Live-Statistiken
Echtzeit-Tracking: bearbeitete User, gelikte Posts, Fehlerquote, Likes/Stunde – mit Datei-Logging.

⚙️ Automation Pipeline

1
🖥️

Screenshot

mss (MSS) erstellt schnelle Bildschirmfotos in Graustufen für Template-Matching.

2
🔍

Template Match

OpenCV sucht Buttons mit 5 Skalierungsstufen und adaptivem Threshold.

3
🖱️

Human Click

Mehrstufige Mausbewegung mit zufälligen Offsets und variabler Klick-Dauer.

4
📋

Log & Repeat

Statistiken loggen, Tageslimit prüfen, nächsten User verarbeiten.

💻 Echter Code aus dem Projekt

Code aus D:\arbeit\git\instagramautoliker\instagram_auto_liker_improved.py. ~400 Zeilen professionelle Desktop-Automation mit vollständigem Error-Handling.

🏗️ Klassenstruktur mit Config (instagram_auto_liker_improved.py)

class InstagramAutoLiker:
    def __init__(self, config_file: str = "config.json"):
        self.config = self.load_config(config_file)
        self.setup_logging()
        self.liked_users: Set[str] = set()
        self.stats = {
            "users_processed": 0,
            "posts_liked": 0,
            "errors": 0,
            "start_time": datetime.now()
        }
        # Fail-Safe aktivieren
        pyautogui.FAILSAFE = True
        pyautogui.PAUSE = self.config.get("base_delay", 0.1)

🔍 Multi-Scale OpenCV Template-Matching

def find_template_with_scale(self, template_path, threshold=None):
    template = cv2.imread(template_full_path, cv2.IMREAD_GRAYSCALE)
    img = self.screenshot_gray()
    
    # 5 verschiedene Skalierungen testen
    scales = [1.0, 0.9, 1.1, 0.8, 1.2]
    
    for scale in scales:
        w = int(template.shape[1] * scale)
        h = int(template.shape[0] * scale)
        scaled = cv2.resize(template, (w, h))
        
        res = cv2.matchTemplate(img, scaled,
            cv2.TM_CCOEFF_NORMED)
        loc = np.where(res >= threshold)
        
        if len(loc[0]) > 0:
            pt = list(zip(*loc[::-1]))[0]
            x, y = pt[0] + w//2, pt[1] + h//2
            return (x, y)
    return None

🧑 Menschliche Mausbewegung (Human Simulation)

def human_click(self, x: int, y: int):
    if self.config["human_simulation"]:
        # Zufällige Abweichung ±3 Pixel
        x += random.randint(-3, 3)
        y += random.randint(-3, 3)
        
        # Bewegung in 2-4 Schritten
        steps = random.randint(2, 4)
        for i in range(steps):
            ix = current_x + (x - current_x)*(i+1)/steps
            iy = current_y + (y - current_y)*(i+1)/steps
            pyautogui.moveTo(ix, iy, duration=random.uniform(0.1,0.3))
    
    pyautogui.moveTo(x, y, duration=random.uniform(0.4,0.9))
    pyautogui.mouseDown()
    time.sleep(random.uniform(0.05, 0.15))  # Variable Klick-Dauer
    pyautogui.mouseUp()

🤖 Haupt-Loop mit Limit-Check & Statistiken

def run_auto_liker(self):
    for i in range(self.config["max_users"]):
        if self.is_daily_limit_reached():
            self.logger.warning("Tageslimit erreicht!")
            break
        
        # User-Profil suchen → klicken
        if not self.find_and_click("profile.png"):
            self.smart_scroll()
            continue
        
        self.stats["users_processed"] += 1
        self.smart_pause(2, 4)
        
        # Post finden → Like-Button klicken
        if self.find_and_click("like.png"):
            self.stats["posts_liked"] += 1
        
        # Intelligente Pause + Scrollen
        self.smart_scroll()
        
        if (i+1) % 5 == 0:
            self.log_statistics()

💻 Tech-Stack

🐍
Python 3
Objektorientierte Architektur mit Type Hints und Docstrings.
👁️
OpenCV
Template-Matching mit cv2.TM_CCOEFF_NORMED und Multi-Scale-Suche.
🔤
Tesseract OCR
Texterkennung aus Bildschirm-Regionen mit PSM-8-Modus.
🖱️
PyAutoGUI + mss
Maus-/Tastatursimulation plus performante Screenshots.
📋
Logging + JSON Config
Datei-basiertes Logging mit Time Rotating und JSON-Konfiguration.

🚀 RPA mit Computer Vision — jede Desktop-App automatisierbar

📞 02406 803 7603 ✉️ info@computerkumpel.de

🎯 Strategische Erkenntnisse

🔐

RPA ohne API-Zugang

Viele Legacy-Systeme haben keine API. Computer Vision + GUI-Automation sind die einzige Integrationsmöglichkeit — und funktionieren überall.

Wo keine API ist, ist Computer Vision. Immer.

📈

Human Simulation als Anti-Detection

Mehrstufige Mausbewegungen + zufällige Offsets machen Bot-Verhalten ununterscheidbar von menschlichem. Der Code-Aufwand lohnt sich 10x.

Nicht schneller sein — unauffälliger sein.

🔧

Template-basierte Automation

Statt auf feste Koordinaten zu klicken (zerbricht bei jeder Auflösungsänderung), sucht OpenCV visuelle Patterns. Robust gegenüber UI-Änderungen.

Niemals auf absolute Pixel-Positionen klicken.

👥

RPA ist das Trojanische Pferd der KI

RPA öffnet Türen in Unternehmen. Sobald Prozesse automatisiert sind, folgen KI-Modelle für Entscheidungsfindung — der natürliche nächste Schritt.

RPA heute = KI-Projekte morgen.

Ihre Desktop-Prozesse automatisieren?

Als Brückenbauer zwischen Business und Technik unterstütze ich Sie bei RPA und Computer Vision — pragmatisch, ergebnisorientiert, ohne Berater-Bullshit.

📞 Jetzt anrufen ✉️ E-Mail senden