Product Spec Extractor
Use cases
Uses BeautifulSoup with configurable CSS selectors to locate specification containers and extract key-value pairs.
Columns auto-sorted by frequency (specifications in more products rank higher).
Configurable request delays (0.5-10s), timeouts (5-60s), and custom User-Agent headers.
Platform
Browser-based (no installation required)
Input
Product URLs via text paste or CSV upload
CSS selectors for key and value elements
Optional: parent container selector
Output
CSV with extracted product specifications
Features
- BeautifulSoup CSS selector extraction
- Key/value CSS selector configuration
- Optional parent container scoping
- Request delay slider (0.5-10 seconds)
- Timeout configuration (5-60 seconds)
- Columns sorted by specification frequency
How to use
- 1 Enter URLs or upload CSV and select column
- 2 Define CSS selectors for spec keys and values
- 3 Test selectors on a single page first
- 4 Configure request delay and timeout
- 5 Run extraction across all URLs
- 6 Download structured CSV with specs as columns
Frequently asked questions
- Why are spec values paired with the wrong names?
- Keys and values are matched by position: the first element matching the key selector is paired with the first element matching the value selector, and so on. If the two selectors return different numbers of elements, everything after the mismatch shifts and trailing keys get empty values. Setting the optional parent container selector so both selectors only match inside the spec block is the usual fix.
- Why does extraction return nothing on a site where I can see a spec table?
- The tool fetches raw HTML with the requests library and parses it with BeautifulSoup; it does not execute JavaScript. If the specification table is rendered client side it will not be in the fetched HTML. Use the Test Selectors button on one URL first: if it reports zero keys, the page structure hints show how many dl and table elements actually exist in the raw HTML.
- The parent container selector I set is wrong. Does the tool warn me?
- Only in test mode. When testing a single URL it warns that the container was not found and falls back to searching the whole page. During the full extraction run the fallback is silent, so a bad container selector can quietly pull key-value pairs from anywhere on the page. Always test before running the full list.
- How is the output CSV structured?
- One row per URL and one column per unique specification name found across all pages, with columns ordered by how many products contain that spec (most common first). URLs that failed get a row with an Error column instead, so failures are visible in the same file. The CSV is written as UTF-8 with BOM so it opens cleanly in Excel.
- What selectors work for table-based spec layouts instead of definition lists?
- The defaults (dt and dd) suit definition lists. For tables, use 'th' or 'td:first-child' as the key selector and 'td:last-child' as the value selector, ideally scoped with a parent container selector such as 'table.specifications'.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Extract product reviews, ratings, and Q&A from e-commerce pages.
Match internal site search terms to landing pages using fuzzy TF-IDF matching.
Find sitemap URLs not linked from your site navigation element.
Flag navigation links whose anchor text does not match the destination H1 or title keyword.
Extract structured product attributes from titles using an LLM with iterative attribute discovery.
Generate JSON-LD structured data for common schema types.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need