Ozon Shopper — AI-Driven Product Search & Scam Detection
Overview
This skill enables searching Ozon for products, analyzing listings for scams, validating technical specs, and recommending the best options. The workflow is:
- Search → collect product cards from Ozon
- Analyze → deep-dive each product (specs, reviews, seller)
- Validate → check for scam patterns and spec inconsistencies
- Report → ranked list with trust scores and red flags
Prerequisites
pip install playwright
playwright install chromium
Scripts
All scripts live in scripts/ and accept --help for usage.
| Script | Purpose | Key Args |
|---|---|---|
ozon_search.py |
Search Ozon, collect product cards | --query, --max-results, --output |
ozon_product_page.py |
Parse full product details | --url, --output |
ozon_reviews.py |
Extract and analyze reviews | --url, --max-reviews, --output |
ozon_seller.py |
Get seller information | --url, --output |
helpers/reporter.py |
Generate Markdown report from JSON data | --input, --output |
Workflow
Step 1: Search
python scripts/ozon_search.py --query "ноутбук ASUS" --max-results 10 --output results.json
This produces a JSON file with product cards:
[
{
"title": "Ноутбук ASUS VivoBook 15...",
"price": "45 990",
"url": "https://www.ozon.ru/product/...",
"rating": "4.8",
"reviews_count": "1240",
"image": "https://..."
}
]
Step 2: Analyze Each Product
For each product from search results, run three analyses in parallel:
python scripts/ozon_product_page.py --url "https://www.ozon.ru/product/..." --output product.json
python scripts/ozon_reviews.py --url "https://www.ozon.ru/product/..." --max-reviews 30 --output reviews.json
python scripts/ozon_seller.py --url "https://www.ozon.ru/product/..." --output seller.json
Step 3: Validate Against Scam Patterns
After collecting data, read references/scam_patterns.md and references/specs_rules.md,
then analyze each product against these checklists.
Key validation checks:
- Price anomaly (too low for the category/specs)
- Seller trust (rating, age on platform, number of products)
- Review authenticity (bot patterns, review velocity, rating distribution)
- Spec consistency (claimed specs vs realistic pricing)
- Brand verification (official vs third-party seller)
Step 4: Generate Report
python scripts/helpers/reporter.py --input results/ --output report.md
AI Analysis Guidelines
When analyzing products, follow these principles from references/scam_patterns.md:
Red Flags (immediate disqualification)
- Price 40%+ below market average for identical specs
- Seller account less than 3 months old with high-value electronics
- All reviews posted within 48 hours
- Vague specs (e.g., "Intel i7" without model number)
- Stock photos instead of real product images
Yellow Flags (investigate further)
- Price 20-40% below market average
- Mixed review sentiment despite high rating
- Seller has few products but many sales
- Specifications that look "too good to be true" for the price
Trust Signals (positive indicators)
- Official brand store on Ozon
- Consistent review timeline spanning months
- Detailed, specific reviews with photos
- Seller responds to negative reviews professionally
- Specs match manufacturer's official page
Decision Tree
User query → Is it a search or a specific URL?
├── Search → Run ozon_search.py → Collect results
│ └── For each result → Run product + reviews + seller analysis
│ └── Validate → Generate ranked report
│
└── Specific URL → Run product + reviews + seller analysis
└── Validate → Generate single product analysis
Report Format
Always generate reports in this structure:
## Результаты поиска: "[query]"
### 1. [Product Name] — [Price]₽ ✅/⚠️/🔴 [Verdict]
- **Продавец**: [Name] (рейтинг [X], [Y] месяцев на Ozon)
- **Отзывы**: [N] отзывов, [X]% положительных
- **Характеристики**: [Key specs]
- **Оценка доверия**: [X]/10
- **Красные флаги**: [list or "Нет"]
Extending to Other Platforms
The skill is designed for easy extension:
- Create
wb_search.py,wb_product_page.py(Wildberries) - Create
ali_search.py,ali_product_page.py(AliExpress) - Each script must follow the same CLI interface:
- Accept
--urlor--query - Accept
--outputfor JSON file path - Print JSON to stdout if no
--output
- Accept
- Update SKILL.md with platform-specific selectors
Quick Reference
| Task | Command |
|---|---|
| Search Ozon | python scripts/ozon_search.py --query "..." |
| Check product | python scripts/ozon_product_page.py --url "..." |
| Read reviews | python scripts/ozon_reviews.py --url "..." |
| Check seller | python scripts/ozon_seller.py --url "..." |
| Generate report | python scripts/helpers/reporter.py --input results/ |
| Help on any script | python scripts/ozon_search.py --help |