Flooring Product Data Extraction
Budget: $250 – $750 CAD
Project Title: Web Scraping & Data Consolidation – Flooring Products (1,137 Items)
Project Overview
I need to extract product data from several flooring manufacturer and distributor websites, then merge it with a separate price list to produce two complete spreadsheets. The final dataset will contain 1,137 products across two categories: Engineered Hardwood and Laminate.
I require a scripted solution that you will develop and run to deliver the completed spreadsheets and images. The source code may be handed over as well, but the main deliverable is the populated data files.
Data Sources
The URLs and product counts are provided in the attached Data Sources.pdf. Below is a summary:
Engineered Hardwood (total 832 products)
Valencia – 12
HTBC – 27
Opus Floors – 18
Timeless Wood Floor – 131
Appalachian – 90
Vidar – 135
Anderson Tuftex – 25
Laminate (total 305 products)
Eurostyle – 30
Goodfellow – 39
Pontek – 53
HTBC – 40
Toucan – 60
Oakell City – 20
Vanwood – 39
HYBC – 18
Vidar – 6
Pricing Information
Pricing is NOT available on any of the target websites.
Instead, I will provide a separate price list (Excel/CSV) after the project starts.
Your scope includes merging this pricing data into the final spreadsheets by matching products (e.g., by product name, SKU, or a combination of brand/collection/product).
The final output must have the Price column populated using the provided price list.
Output Requirements
The final data must be delivered as two Excel (CSV) files, one per category, with columns exactly matching the attached templates:
Engineered Hardwood.xlsx
Laminate.xlsx
These templates contain all required fields (e.g., Brand, Collection, Species, Wear Layer, Surface Texture, Locking System, etc.). The extraction logic must map website labels (which may vary) to the correct column in the template.
Additional Requirements
Images: For each product, download the main product image. Name the images consistently (e.g., Brand_Collection_Product.jpg) and provide either a column with local file paths or a separate folder with images clearly linked to the product rows.
Data Normalization: Handle inconsistent column names across websites (e.g., “Veneer Thickness” / “Wear Layer” / “Top Layer” all map to the same field).
Pricing Merge: Once the product data is scraped, merge the separately provided price list into the final spreadsheets, populating the Price column. Indicate any products that cannot be matched (e.g., leave blank or flag in a note).
Accuracy: Data must match the source websites exactly. I will verify a sample before final acceptance.
Deliverables
Final data files – Two CSV/Excel files (Engineered Hardwood & Laminate) populated with all 1,137 products, all required fields (including Price from the separate list), and images linked.
Image folder – All product images, properly named and organized.
Source code – The script(s) used to perform the extraction and merge (optional but preferred, in case I need to rerun or adjust it later).
Technical Approach
You may use any technology (Python, Scrapy, etc.), but I expect a scripted solution that you will execute on your side. I do not require detailed instructions for running the script, though a brief note on dependencies is appreciated.
Timeline
I need the completed dataset within 2 weeks of awarding the project. Please state your estimated delivery time in your proposal.
Budget & Proposal Requirements
Please provide a fixed‑price quote for the entire project. In your proposal, include:
A brief summary of your web scraping experience (especially e‑commerce or product data).
Your proposed approach, including how you plan to handle the pricing merge.
A fixed price and estimated delivery time.
Examples of similar projects (links or screenshots are welcome).
Attachments
Data Collection Brief-1.pdf – original project overview
Data Sources.pdf – full list of URLs with product counts
Engineered Hardwood.xlsx – field template
Laminate.xlsx – field template
This version clearly states that pricing will be supplied separately and the freelancer must merge it, making the scope complete. Let me know if you'd like to adjust anything further.
Project Overview
I need to extract product data from several flooring manufacturer and distributor websites, then merge it with a separate price list to produce two complete spreadsheets. The final dataset will contain 1,137 products across two categories: Engineered Hardwood and Laminate.
I require a scripted solution that you will develop and run to deliver the completed spreadsheets and images. The source code may be handed over as well, but the main deliverable is the populated data files.
Data Sources
The URLs and product counts are provided in the attached Data Sources.pdf. Below is a summary:
Engineered Hardwood (total 832 products)
Valencia – 12
HTBC – 27
Opus Floors – 18
Timeless Wood Floor – 131
Appalachian – 90
Vidar – 135
Anderson Tuftex – 25
Laminate (total 305 products)
Eurostyle – 30
Goodfellow – 39
Pontek – 53
HTBC – 40
Toucan – 60
Oakell City – 20
Vanwood – 39
HYBC – 18
Vidar – 6
Pricing Information
Pricing is NOT available on any of the target websites.
Instead, I will provide a separate price list (Excel/CSV) after the project starts.
Your scope includes merging this pricing data into the final spreadsheets by matching products (e.g., by product name, SKU, or a combination of brand/collection/product).
The final output must have the Price column populated using the provided price list.
Output Requirements
The final data must be delivered as two Excel (CSV) files, one per category, with columns exactly matching the attached templates:
Engineered Hardwood.xlsx
Laminate.xlsx
These templates contain all required fields (e.g., Brand, Collection, Species, Wear Layer, Surface Texture, Locking System, etc.). The extraction logic must map website labels (which may vary) to the correct column in the template.
Additional Requirements
Images: For each product, download the main product image. Name the images consistently (e.g., Brand_Collection_Product.jpg) and provide either a column with local file paths or a separate folder with images clearly linked to the product rows.
Data Normalization: Handle inconsistent column names across websites (e.g., “Veneer Thickness” / “Wear Layer” / “Top Layer” all map to the same field).
Pricing Merge: Once the product data is scraped, merge the separately provided price list into the final spreadsheets, populating the Price column. Indicate any products that cannot be matched (e.g., leave blank or flag in a note).
Accuracy: Data must match the source websites exactly. I will verify a sample before final acceptance.
Deliverables
Final data files – Two CSV/Excel files (Engineered Hardwood & Laminate) populated with all 1,137 products, all required fields (including Price from the separate list), and images linked.
Image folder – All product images, properly named and organized.
Source code – The script(s) used to perform the extraction and merge (optional but preferred, in case I need to rerun or adjust it later).
Technical Approach
You may use any technology (Python, Scrapy, etc.), but I expect a scripted solution that you will execute on your side. I do not require detailed instructions for running the script, though a brief note on dependencies is appreciated.
Timeline
I need the completed dataset within 2 weeks of awarding the project. Please state your estimated delivery time in your proposal.
Budget & Proposal Requirements
Please provide a fixed‑price quote for the entire project. In your proposal, include:
A brief summary of your web scraping experience (especially e‑commerce or product data).
Your proposed approach, including how you plan to handle the pricing merge.
A fixed price and estimated delivery time.
Examples of similar projects (links or screenshots are welcome).
Attachments
Data Collection Brief-1.pdf – original project overview
Data Sources.pdf – full list of URLs with product counts
Engineered Hardwood.xlsx – field template
Laminate.xlsx – field template
This version clearly states that pricing will be supplied separately and the freelancer must merge it, making the scope complete. Let me know if you'd like to adjust anything further.