Smart Data & List Extraction
๐ Smart Data & List Extraction
Section titled โ๐ Smart Data & List ExtractionโBflow makes scraping web data visual and effortless. Whether you want to grab a single product title, capture an image URL, or scrape 100 rows from a paginated table, you can do it with point-and-click ease.
๐ Single Value & Attribute Extraction
Section titled โ๐ Single Value & Attribute ExtractionโTo extract a single elementโs value:
- During a visual recording session (
bun record ...), press the ๐ Extract button on the floating HUD (or holdShiftand click any element on the page). - An in-page modal will appear:
- Variable Name: Enter the identifier where the data should be stored (e.g.
pageTitle,pricingPlan). - Target Attribute: Choose what data to extract:
text/innerTextโ The visible text inside the element.hrefโ The destination URL of a link (<a>).srcโ The image source URL (<img>).valueโ Current input value (<input>,<textarea>).alt/title/aria-labelโ Accessibility attributes.
- Extract All Matching: Check this box if you want an array of strings from all matching elements.
- Variable Name: Enter the identifier where the data should be stored (e.g.
- Click Save Extraction.
{ "action": "extract", "selector": "h1.product-title", "as": "mainHeading", "attribute": "text"}๐ Smart List & Repeating Grid Extraction
Section titled โ๐ Smart List & Repeating Grid ExtractionโExtracting entire catalogs, product lists, or data tables is traditionally tedious. With Bflowโs Smart Pattern Detector, you only need to select one card or row.
How It Works
Section titled โHow It Worksโ- Click the ๐ List button on the in-page HUD.
- Hover over any repeating card or table row โ the recorder highlights similar sibling elements in real time.
- Click the item. The modal opens showing detected repeating fields:
- Container Selector: Auto-detected common container (e.g.
.athing,.product-card,tr.row). - Output Variable: Array name (e.g.
topStories,products). - Limit: Max number of items to collect (e.g.
10,50, or leave blank for all). - Field Mappings: Map nested sub-selectors (e.g.
title->.titleline > a,url->.titleline > a@href,points->.score).
- Container Selector: Auto-detected common container (e.g.
- Click Confirm & Extract.
{ "action": "extractMultiple", "containerSelector": ".product-card", "as": "products", "limit": 20, "fields": { "title": "h3.title", "price": ".price-tag", "productUrl": "a.link@href", "thumbnail": "img@src" }}[!TIP] Use the
@attributesyntax in field mappings (e.g.,a@hreforimg@src) to extract HTML attributes directly instead of inner text.
๐พ Saving & Exporting Data
Section titled โ๐พ Saving & Exporting DataโAt the end of your workflow, save the extracted data directly to disk in JSON or CSV format:
{ "action": "save", "path": "output/scraped-products.json", "format": "json"}When the workflow runs, two output files are generated in output/:
flow-<name>-data.jsonโ A clean, structured JSON object containing only your extracted variables and arrays.flow-<name>-result.jsonโ A complete execution audit log with step-by-step millisecond timings, statuses, and debug telemetry.