Parser data auto-filling: mapping, moderation, publication

Imagine an online store with 50,000 products, data supplied by three partners in different formats. Direct import within a day leads to 15% duplicates and broken links — the site loses search positions. We developed a system that eliminates such issues through a pipeline: parser → normalization → mo

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1422
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    984
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1249
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    986
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    999

Imagine an online store with 50,000 products, data supplied by three partners in different formats. Direct import within a day leads to 15% duplicates and broken links — the site loses search positions. We developed a system that eliminates such issues through a pipeline: parser → normalization → moderation → publication. But simply copying data from a parser into the database is naive and doesn't scale. Without intermediate processing, you risk junk: duplicates, broken images, invalid prices. Additionally, each supplier sends data in their own format: one uses JSON with nested fields, another uses XML with attributes. We need to unify everything into a single structure, check quality, and only then publish. This auto-filling website method requires systematic approach, otherwise web scraping turns into chaos. Below we break down key nodes and implementation.

What problems arise with direct import?

Direct import from parser to site database is bad practice. Typical errors:

  • Duplicates — identical products with different IDs due to repeated parsing.
  • Broken images — links to external resources that were deleted.
  • Invalid prices — 0 or 999,999,999 rubles from source errors.
  • Different structure — each supplier has their own format: article in article or sku.

We solve this with an intermediate queue with validation and normalization, reducing manual correction by 80%.

Why is an intermediate queue needed?

The queue buffers data and applies business logic: deduplication, format transformation, enrichment from external APIs. Without a queue, a parser failure can dump junk into your CMS. Using a queue reduces publication errors by 5x compared to direct import, processing up to 10,000 records per minute. Our solution, built over 7+ years of experience with 150+ projects, ensures reliability.

How deduplication is implemented?Hashing on title + sku + supplier_id achieves 99.9% accuracy. Duplicates are marked and not published; updates replace old values.

How to configure field mapping for any source?

Each source has its own structure. We use configuration based on JSONPath, allowing field correspondence without code changes.

{ "source": "supplier_catalog", "mappings": { "title": "$.name", "description": "$.full_description", "price": "$.price_rub", "category": { "field": "$.category_id", "transform": "category_map" }, "images": "$.photos[*].url", "sku": "$.article" }, "category_map": { "1": "electronics", "2": "clothing", "15": "home-garden" } } 

This reduces adaptation time to hours. For CMS import, we integrate via API ensuring seamless field mapping.

How are images processed?

Images are downloaded, optimized, and uploaded to our own storage:

async def process_image(url: str, product_id: int) -> str: async with httpx.AsyncClient() as client: resp = await client.get(url, timeout=30) img = Image.open(BytesIO(resp.content)) img = img.convert('RGB') img.thumbnail((1200, 1200), Image.LANCZOS) output = BytesIO() img.save(output, 'WEBP', quality=85) s3_key = f'products/{product_id}/{uuid4()}.webp' s3.put_object(Bucket=BUCKET, Key=s3_key, Body=output.getvalue()) return f'https://cdn.example.com/{s3_key}' 

WebP reduces file size by 30–50% without quality loss, and our CDN caching with 7-day TTL cuts LCP by 40%.

Quality control and publication strategies

Data undergoes three-level validation:

  • Required fields: name, price, at least one photo.
  • Price range: 1 to 1,000,000 units.
  • Description: at least 50 characters.
  • Images: accessible, width ≥ 300 px.

Records failing go to review_required status. Three publication strategies:

Strategy Publication time Error risk Manual work
Auto-publication Seconds Medium (trusted source) No
Draft Hours/days Low (editor checks) Yes
Diff-update Seconds Low (only changes) No

Choice depends on source reliability and data criticality. This saves up to $20,000 annually for high-volume catalogs.

Process overview

  1. Analysis — study parser structure and CMS fields.
  2. Design — develop mapping and queue schema.
  3. Implementation — write processor in Python, validator with rules, integrate with CMS via API.
  4. Testing — run on 10,000 historical records, check edge cases.
  5. Deployment — deploy to production, configure error monitoring.

What's included

  • Analysis of parser structure and CMS fields
  • Development of mapping schema
  • Configuration of intermediate queue and validation
  • Integration via CMS API
  • Configuration and support documentation
  • Training editors on queue and moderation workflow
  • Technical support during launch

Timing

Complexity Time
One source, basic validation 5–8 days
Multiple sources, UI mapping, moderation 15–20 days

With 7+ years in the field and 150+ successful projects, we ensure reliable parser CMS integration. Contact us for a consultation to evaluate your project — we'll select the optimal architecture for automated content filling.