Skip to Content
DokumentationSmart Scripts

Intelligente Skripte

Smart Scripts lassen PicHound Bilder auf jeder Produktseite automatisch nach Zweck erkennen und gruppieren — ohne manuelles Sortieren. Mit 50+ eingebauten E-Commerce-Skripten für Taobao, Tmall, JD, Amazon, Shopee u. a. trennt es Hauptbilder, SKU, Details und Videos. Es unterstützt JPEG, PNG, GIF, WEBP, BMP, SVG, AVIF, eine UI in 30+ Sprachen und eine Lifetime-Pro-Lizenz für $13.99 mit 3 Geräteaktivierungen (unbegrenzt mit Google-Konto). Alle Regeln laufen 100 % lokal: der erste KI-Modell-Download beträgt etwa 100 MB, danach offline mit RMBG-1.4 / MODNet. Kostenlose Nutzer: 12 große Batches pro Tag (≤10 frei); Lifetime Pro für unbegrenzten Zugriff.

PicHound smart script e-commerce grouping preview

Eigene Skripte für jede Site

Wenn eine Zielsite nicht von eingebauten Skripten abgedeckt ist, erweitern Sie PicHound mit einer eigenen JSON-Vorlage. Die Vorlage matcht Seiten-URLs mit regulären Ausdrücken und extrahiert Bild-/Video-Knoten per DOM-Selektoren oder JavaScript-Ausdrücken — gleiches gruppiertes Download-Erlebnis wie bei offiziellen Skripten.

Voraussetzungen

Eigene Skripte erfordern:

  1. Vertrautheit mit HTML, JavaScript, CSS und AJAX, um Seitenstruktur und Datenschnittstellen zu verstehen.
  2. Sicheren Umgang mit Chrome DevTools zum Inspizieren von DOM-Knoten, Prüfen von Netzwerkanfragen und Debuggen.
  3. Solide Regex-Kenntnisse, um URLs, Attributpfade und Bildadressen präzise zu extrahieren.
  4. Die Fähigkeit, selbst zu debuggen und Regeln zu iterieren, wenn Seiten sich ändern.

📃Skriptbeispiel

Das JSON unten zeigt anhand einer 1688-Produktdetailseite, wie Hauptbilder, SKU, Details und Videos eigenen Gruppen zugewiesen werden:

{ "id": 10009, "name": "1688", "ico": "https://assets.pichound.app/1688.ico", "version": "25.1.1", "description": "HD-Bilder und Videos intelligent von 1688-Produktdetailseiten extrahieren", "reg": "detail.1688.com/offer", "status": "prod", "tags": [ "ec" ], "examples": [ "https://detail.1688.com/offer/739240146617.html" ], "groups": [ { "fn": "updateGroupByIds", "props": { "groupName": "Hauptbilder", "groupIndex": 0, "source": "Object.entries(window.__INIT_DATA.data).find(([k,v]) => v.componentType === '@ali/tdmod-pc-od-main-pic')[1]?.data?.offerImgList", "ids": [ { "attributes": [] } ] } }, { "fn": "updateGroupByIds", "props": { "groupName": "SKU", "groupIndex": 1, "source": "window.__INIT_DATA.globalData.skuModel.skuProps.reduce((acc, o) => { acc.push(...o.value); return acc }, []);", "ids": [ { "attributes": [ "imageUrl" ], "imageNameAttributes": [ "name" ], "replaceUrlRules": [ { "pattern": "!q.*$", "replaceValue": "?sku" } ] } ] } }, { "fn": "updateGroupByIds", "props": { "groupName": "Details", "groupIndex": 2, "ids": [ { "id": ".content-detail img", "attributes": [ "dataset.lazyloadSrc", "src" ] } ] } }, { "fn": "updateGroupByIds", "props": { "groupName": "Video", "groupIndex": 3, "source": "[Object.entries(window.__INIT_DATA.data).find(([k,v]) => v.componentType === '@ali/tdmod-pc-od-main-pic')[1]?.data?.video]", "ids": [ { "attributes": [ "videoUrl" ], "type": "VIDEO" } ] } } ] }

🔑API-Dokumentation

TypeScript-Interfaces für Gruppierungsregeln, Feldzuordnungen und URL-Ersetzung:

export interface IGroup { _id?: string; // Eindeutige ID id: string; // Konfiguration: aktiviert oder nicht enable: boolean; // Typ type: 'custom' | 'official'; // Weitere Konfigurationen config?: IGroupConfig; // Formular rawConfig?: string; // Aktualisierungszeit updateAt?: number; } export interface IGroupConfig { // Eindeutige ID id: number; // Erweiterungsname name: string; // Erweiterungssymbol ico?: string; // Erweiterungsversion version?: string; // Erweiterungsbeschreibung description?: string; // Standard-Match-Pfad reg: string; // Vor-Skript prevJS: string; // Gruppierungsfunktion der Erweiterung groups: IRun[]; // Veröffentlichungsstatus status?: string; // Beispiele examples?: string[]; } export interface IRun { // Funktionsfähigkeit fn: string; // Zusätzliche Parameter props: IRunProps; } export interface IIds { // Parameter-Ids id: string; // Parameterpfad attributes?: string[]; // Typ, ggf. Video type?: string; // Bildbeschreibungsinformationen alt?: string; // Regeln zur Ersetzung von Bild-URLs replaceUrlRules?: IReplaceUrlRule[]; // Regeln zum Filtern von Bild-URLs filterUrlRules?: IReplaceUrlRule[]; // Parameter zum Abrufen von Bildnamen imageNameAttributes?: string[]; } export interface IReplaceUrlRule { // Ersetzungs-Regex pattern: string // Regex partiell/vollständig flags?: string // Ersetzungswert replaceValue?: string } export interface IRunProps { // Quellobjekt, Standard document.querySelectorAll, gibt iterierbares Array zurück source?: string; // Parameter-Ids ids: IIds[]; // Gruppenname groupName: string; // Gruppenindex groupIndex: number; }

Nächste Schritte

Zuletzt aktualisiert