← Zákazky

Data Extraction from Public Tender Results Portal into Excel

Rozpočet: $400.0 FIXED / ⭐ 0.00 (0) Tunisia

crawlers, data-extraction, beautiful-soup, scrapy-framework, data-scraping, data-mining, python, microsoft-excel

Scope I need a complete extraction of the tender award results published on a government procurement portal. Target page: https://www.marchespublics.gov.tn/fr/resultats • All results published over the last 3 years (rolling 36 months). • All result categories available in the filter (Attribué, Infructueux, Annulé). • All public buyers (800+ entities in the dropdown). No filtering by buyer. • No content filtering. Extract everything — classification is done on my side. Fields required (per row) • Id • Tender reference number • Public buyer • Object • Lot-Article object • Result category • Publication date • Detail page data: winning bidder, awarded amount, currency, lot number, and any other field present on the detail view • Source URL of the detail page • Links to any attached documents (URLs only) Technical notes • The result list is loaded via AJAX POST with a Laravel CSRF token — this must be handled per session. • Respect pagination and rate limits. Throttle requests and use retries with backoff. Do not hammer the server. • The site is bilingual — extract the French version. • UTF-8 accents must be clean (é, è, ô). Any encoding corruption will result in rejection. • Some fields may be empty or inconsistent — leave them blank. Do not invent or silently normalize data. Deliverables 1. results.xlsx — one row per lot/article, deduplicated, with a header row and clean column types. 2. results.csv (UTF-8) — same data, raw export. 3. buyers.xlsx — clean list of all public buyers found. 4. Scraper source code in Python using Scrapy, Playwright, or requests + Beautiful Soup, fully documented so I can re-run it monthly. 5. README explaining how to re-run the scraper, expected runtime, and known limitations. 6. QA note including total rows extracted, rows per year, and the percentage of records missing bidder or amount at the source. Acceptance criteria • Row count must be reconciled against the site’s own result counter for at least 3 random buyer + date filter combinations. • Zero encoding corruption in the Excel file. • The script must run end-to-end on my machine. How to apply Do not send a generic proposal. Your proposal must include: 1. One sentence explaining how you will handle the AJAX POST + CSRF token flow on this specific site. 2. Your rough estimate of the total number of records for the 36-month window. 3. Two links to similar government-portal scraping projects you have delivered. 4. Your fixed price and delivery date. Proposals that do not answer points 1–3 will be ignored. Payment 2 milestones: • Milestone 1 — 20%: working proof of concept with 1 month of data + code. • Milestone 2 — 80%: full 36-month dataset + Excel files + scraper code + README.
Otvoriť na Upwork