Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Pinterest Scraper

v1.1.0

Scrapes Pinterest boards, profiles, or search results with infinite scroll, image quality options, deduplication, resume support, and Telegram album sending.

0· 508·1 current·1 all-time
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (Pinterest scraping, infinite scroll, Telegram delivery) match the code and SKILL.md. The script uses Playwright to drive a headless browser (expected for infinite scroll scraping) and requests for downloads/Telegram API — these are appropriate and proportional.
Instruction Scope
SKILL.md stays within the scraping scope: it instructs installing playwright/requests, running the script, and optionally providing Telegram token/chat. The skill writes a .scrape_state.json and scrape.log to the output folder (documented). Minor note: troubleshooting suggests using verify=False for requests (and the code already disables SSL verification for download calls), which weakens TLS checks and should be used cautiously.
Install Mechanism
No automatic install spec; it's instruction-only and the script relies on pip-installed packages (playwright, requests) and a Playwright browser install. This is low risk and expected for a Python scraper.
Credentials
No required environment variables or credentials are declared. Telegram integration takes a bot token and chat ID via CLI flags (appropriate). Note: passing secrets on the command line can expose them in shell history or process lists; the code does not read other unrelated env vars or credentials.
Persistence & Privilege
The skill does not request persistent/privileged platform presence (always:false). It stores state and logs under the user-specified output folder only, which is consistent with resume/dedup functionality.
Assessment
This skill appears to do what it says: scraping Pinterest and optionally sending images to Telegram. Before installing/running, consider: (1) TLS: the code disables SSL verification for downloads (verify=False) — this weakens security; avoid running on untrusted networks or modify the code to enable verification. (2) Secrets: supplying the Telegram bot token on the command line can expose it in shell history or process listings — prefer passing tokens via a protected file or environment variable (the script currently expects CLI flags). (3) Output data: the scraper writes images, a .scrape_state.json and scrape.log to the output folder; these may contain URLs or metadata you may not want to keep or share. (4) Legal/ethical: scraping Pinterest content may violate terms of service or copyright — ensure you have the right to download and distribute images. (5) Operational: Playwright will download a browser (chromium) and run headless; ensure your environment allows running headless browsers. If you want extra assurance, review/modify the script (enable SSL verification, change how tokens are provided, and inspect logging behavior) before use.

Like a lobster shell, security has layers — review code before you run it.

latestvk97c20xxx4149wqj4mezs9gr7d8289tj
508downloads
0stars
2versions
Updated 4h ago
v1.1.0
MIT-0

Pinterest Scraper

Full-featured Pinterest image scraper with automatic scrolling and multiple output options.

When This Skill Activates

This skill triggers when user wants to download images from Pinterest.

Reasoning Framework

StepActionWhy
1EXTRACTParse Pinterest URL to determine board/user/search
2LAUNCHStart Playwright browser with stealth options
3SCROLLIncrementally load images (Pinterest uses infinite scroll)
4COLLECTExtract image URLs with quality selection
5DEDUPHash-based duplicate detection
6DOWNLOADSave images to output folder
7NOTIFYOptional: send to Telegram

Setup

pip install playwright requests
playwright install chromium

Decision Tree

What are you trying to do?

├── Download images from a board/user
│   └── Use: -u "URL" -s [scrolls]
│
├── Get highest quality possible
│   └── Use: -q originals
│
├── Get smaller/faster downloads
│   └── Use: -q 736x or 236x
│
├── Send images to phone
│   └── Use: --telegram --token X --chat Y
│
├── Resume interrupted scrape
│   └── Use: --resume
│
└── Debug issues
    └── Use: -v (verbose logging)

Quality Selection Decision

QualityUse CaseFile Size
originalsBest quality, archivingLargest
736xGood balanceMedium
474xThumbnail qualitySmall
236xPreview onlySmallest
allSave every versionLargest total

Usage

Command Line

python scrape_pinterest.py -u "URL" [options]
OptionDescriptionDefault
-u, --urlPinterest URL (required)-
-s, --scrollsNumber of scrolls50
-o, --outputOutput folder./pinterest_output
-q, --qualityQuality: originals/736x/474x/236x/alloriginals
-v, --verboseEnable verbose loggingfalse
--telegramSend images to Telegramfalse
--tokenTelegram bot token-
--chatTelegram chat ID-
--resumeResume from previous scrapefalse
--dedupSkip duplicatestrue
--no-dedupDisable deduplication-
--telegram-onlyOnly send existing filesfalse

Common Examples

# Basic scrape (50 scrolls, originals, current dir)
python scrape_pinterest.py -u "URL"

# Verbose mode (logs to console + scrape.log)
python scrape_pinterest.py -u "URL" -v

# More scrolls, custom output, medium quality
python scrape_pinterest.py -u "URL" -s 100 -o ./output -q 736x -v

# With Telegram delivery
python scrape_pinterest.py -u "URL" --telegram --token "TOKEN" --chat "CHAT_ID"

# Resume interrupted scrape
python scrape_pinterest.py -u "URL" --resume -v

# Show help
python scrape_pinterest.py --help

Python API

This tool is CLI-based. Run it from your Python code:

import subprocess
import os

# Run the scraper
result = subprocess.run(
    ['python3', 'scrape_pinterest.py', '-u', 'URL', '-s', '50', '-q', 'originals'],
    cwd='./scripts',
    capture_output=True,
    text=True
)

print(result.returncode)  # 0 = success
print(result.stdout)

Features

FeatureDescription
Infinite ScrollAutomatic scrolling loads more images
Quality Optionsoriginals/736x/474x/236x/all
TelegramSend directly to Telegram
DeduplicationHash-based duplicate detection
ResumeContinue from previous scrape
URL TypesBoards, user profiles, search results
Verbose Logging-v flag, logs to console + scrape.log

Verbose Logging

Use -v or --verbose for detailed logging:

python scrape_pinterest.py -u "URL" -v

What gets logged:

  • Scroll progress (every 10 scrolls)
  • Images found per scroll
  • Download progress (X/Y)
  • Telegram send status
  • Errors and warnings

Log files:

  • Console: INFO level
  • scrape.log: DEBUG level (detailed)

Troubleshooting

Problem: No images downloaded

  • Cause: Not enough scrolls, Pinterest didn't load
  • Fix: Increase -s value (try 100-200)

Problem: "Browser not found"

  • Cause: Playwright not installed
  • Fix: playwright install chromium

Problem: SSL certificate errors (Mac)

  • Cause: macOS SSL issues
  • Fix: Use verify=False in requests calls

Problem: Duplicate images

  • Cause: Deduplication disabled or failed
  • Fix: Use --dedup flag (default: on)

Problem: Resume not working

  • Cause: State file missing or URL changed
  • Fix: Use same URL as original, check .scrape_state.json

Problem: Telegram not sending

  • Cause: Invalid token/chat ID, rate limiting
  • Fix: Verify bot token, check chat ID, Telegram limits 100 images/batch

Problem: Verbose logs not writing

  • Cause: File permission issue
  • Fix: Check write permissions in output directory

Self-Check

  • Pinterest URL is valid (board/user/search)
  • Playwright installed: playwright install chromium
  • Quality selected appropriately for use case
  • Output directory exists or is writable
  • For Telegram: token and chat ID correct
  • For resume: using same URL as original scrape

Notes

  • Pinterest loads dynamically - scrolling required for more images
  • Use verify=False for requests (Mac SSL issues)
  • State saved to .scrape_state.json for resume
  • Telegram limited to 100 images per batch
  • Verbose mode writes detailed logs to scrape.log

Quick Reference

TaskCommand
Basic scrapepython scrape_pinterest.py -u "URL"
Verbose debugpython scrape_pinterest.py -u "URL" -v
High qualitypython scrape_pinterest.py -u "URL" -q originals
Fast/smallpython scrape_pinterest.py -u "URL" -q 236x
Send to Telegrampython scrape_pinterest.py -u "URL" --telegram --token X --chat Y
Resumepython scrape_pinterest.py -u "URL" --resume
Custom outputpython scrape_pinterest.py -u "URL" -o ./myfolder

Comments

Loading comments...