> ## Documentation Index
> Fetch the complete documentation index at: https://docs.easyscraper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Page Details Scraping

> Extract data from multiple individual pages using a list of URLs

## Overview

Details scraping (also called "page scraping" or "URL scraping") allows you to extract specific data from multiple individual pages. Instead of scraping a list from one page, you provide a list of URLs and Easy Scraper visits each URL to extract the data you specify.

**Use cases:**

* Extract product details from a list of product URLs
* Gather article content from multiple blog posts
* Collect company information from business profile pages
* Scrape property details from real estate listings
* Extract contact information from multiple profile pages

## How Page Details Scraping Works

<Steps>
  <Step title="Provide URLs">
    Give Easy Scraper a list of URLs to visit. This can come from:

    * URLs scraped from a list
    * A CSV file you upload
  </Step>

  <Step title="Define data to extract">
    Create a scraper by selecting which fields to extract from each page. You do this by visiting a test URL and clicking on the elements you want to scrape.
  </Step>

  <Step title="Run the scraper">
    Easy Scraper visits each URL, extracts the data, and compiles it into a table that you can export.
  </Step>
</Steps>

## Step-by-Step Guide

### Step 1: Select URLs

<Tabs>
  <Tab title="From List Scraping">
    The easiest way to get URLs for details scraping is from a list scraping result.

    <Steps>
      <Step title="Scrape a list">
        First, use [List Scraping](/list-scraping) to scrape a list that includes URLs (links to detail pages).
      </Step>

      <Step title="Click 'Scrape each URL'">
        After list scraping completes, click the "Scrape each URL" button at the top of the results.
      </Step>

      <Step title="Select the URL field">
        Choose which field from your list scraping results contains the URLs you want to visit.
      </Step>
    </Steps>

    <Tip>
      This workflow is ideal for scraping e-commerce products: first scrape the product list to get URLs, then scrape each product page for detailed information.
    </Tip>
  </Tab>

  <Tab title="Upload CSV">
    You can also upload a CSV file containing URLs.

    <Steps>
      <Step title="Prepare your CSV">
        Create a CSV file with a header row. One column should contain the URLs you want to scrape.

        Example:

        ```csv theme={null}
        product_url,product_name
        https://example.com/product1,Product 1
        https://example.com/product2,Product 2
        ```
      </Step>

      <Step title="Upload the file">
        In the Details tab, click "Upload CSV" and select your file.
      </Step>

      <Step title="Select URL column">
        Choose which column contains the URLs. Easy Scraper will show you a preview of the URLs.
      </Step>
    </Steps>

    <Warning>
      Make sure your CSV includes a header row. If Easy Scraper detects that your URLs might be in the first row, it will warn you.
    </Warning>
  </Tab>
</Tabs>

### Step 2: Select Data to Extract

Now you need to tell Easy Scraper what data to extract from each page.

<Steps>
  <Step title="Select a test URL">
    Select a test URL from the list of URLs you provided. This should be a representative page that has all the data you want to extract.
  </Step>

  <Step title="Click 'Select data to extract'">
    This opens the test page and enters "recording mode" where you can click on elements to select them.
  </Step>

  <Step title="Click on elements">
    Click on each piece of data you want to extract. For example:

    * Product title
    * Price
    * Description
    * Images
    * Specifications

    Each click adds a new field to your scraper. The extension will show you an overlay as you select each field.
  </Step>

  <Step title="Review the preview">
    After selecting your fields, Easy Scraper shows you a preview of the extracted data. Check that all fields are captured correctly.
  </Step>

  <Step title="Name your fields">
    Give each field a descriptive name (e.g., "Product Title", "Price", "Main Image URL"). This helps you identify the data in your export.
  </Step>
</Steps>

<Note>
  Easy Scraper generates smart selectors for each element that work across multiple pages of the same website. The selectors are designed to be reliable even if the exact HTML structure varies slightly between pages.
</Note>

### Step 3: Name Your Scraper (Optional)

Your scraper is automatically saved to your browser for future reuse.

<Steps>
  <Step title="Name your scraper">
    Give your scraper a descriptive name (e.g., "Amazon Product Details", "Blog Article Scraper").
  </Step>

  <Step title="Automatic save">
    The scraper is automatically saved to your browser and associated with the website's domain.
  </Step>

  <Step title="Reuse later">
    Next time you scrape pages from the same website, you can select your saved scraper instead of creating a new one.
  </Step>
</Steps>

#### Managing Saved Scrapers

<Accordion title="Export a scraper">
  Click the export button to save your scraper as a JSON file. This allows you to share scrapers with others or move scrapers between browsers.
</Accordion>

<Accordion title="Import a scraper">
  Click the import button and select a previously exported scraper JSON file.
</Accordion>

<Accordion title="Delete a scraper">
  Click the delete button to remove a scraper you no longer need.
</Accordion>

<Accordion title="Rename a scraper">
  Edit the scraper name field and the new name is automatically saved.
</Accordion>

### Step 4: Run the Scraper

<Steps>
  <Step title="Configure wait times">
    Set how long to wait between visiting each page:

    * **Min wait time**: Minimum delay between pages (default: 1s)
    * **Max wait time**: Maximum time to wait for page to load (default: 3s)

    <Warning>
      Scraping too quickly may trigger rate limiting or anti-bot measures on some websites. Use appropriate wait times to be respectful of server resources.
    </Warning>
  </Step>

  <Step title="Click 'Start Scraping'">
    Easy Scraper will visit each URL in sequence and extract the data.
  </Step>

  <Step title="Monitor progress">
    The extension shows you:

    * Number of pages scraped
    * Number of pages remaining
    * Current page being scraped
  </Step>

  <Step title="View results">
    Once complete, all extracted data is displayed in a table. Each row represents one page, and each column represents one field you selected.
  </Step>
</Steps>

### Step 5: Export Your Data

After scraping completes, export your data in your preferred format:

* **Download CSV**: Best for spreadsheet applications
* **Download JSON**: Best for programmatic use
* **Copy to Clipboard**: Copy as TSV to paste directly into Excel, Google Sheets, or other applications

## Field Types

Details scrapers can extract the same three types of data as list scrapers:

| Type          | Description                   | Examples                                      |
| ------------- | ----------------------------- | --------------------------------------------- |
| **Text**      | Visible text content          | Product names, descriptions, prices, headings |
| **Link URL**  | The `href` attribute of links | Related product URLs, external references     |
| **Image URL** | The `src` attribute of images | Product photos, thumbnails, logos             |

<Tip>
  When selecting an element, Easy Scraper automatically detects whether to extract text, a link, or an image URL based on the element type.
</Tip>

## Tips for Successful Page Details Scraping

<AccordionGroup>
  <Accordion title="Choose a good test URL">
    Select a test URL that has all the data you want to extract. Some pages may be missing optional fields, so test with a complete example.
  </Accordion>

  <Accordion title="Be specific when selecting elements">
    Click directly on the element containing the data you want. Don't click on parent containers unless you want all the text from that container.
  </Accordion>

  <Accordion title="Test with a small sample first">
    Before scraping hundreds of URLs, test with just 5-10 URLs to ensure your scraper is working correctly. You can always run it again on all URLs.
  </Accordion>

  <Accordion title="Use appropriate wait times">
    * Fast websites: 1-2 seconds between pages
    * Slow websites: 3-5+ seconds
    * If you're getting incomplete data, increase the max wait time
  </Accordion>

  <Accordion title="Handle missing data gracefully">
    Not all pages will have all fields. Empty fields will appear as blank cells in your export, which is normal.
  </Accordion>

  <Accordion title="Name your scrapers">
    Your scrapers are automatically saved. Give them descriptive names so you can easily find and reuse them for similar pages in the future.
  </Accordion>
</AccordionGroup>

## Common Issues and Solutions

<AccordionGroup>
  <Accordion title="Field is empty for some pages">
    **Problem:** A field works on the test URL but is empty for other URLs.

    **Solutions:**

    * The element may not exist on some pages (this is normal)
    * Content may be loaded dynamically - increase the max wait time
    * Check if the website uses different templates for different pages
  </Accordion>

  <Accordion title="Scraper stops before finishing all URLs">
    **Problem:** Details scraping stops before visiting all URLs.

    **Solutions:**

    * Check your browser console for errors
    * The website may have rate limiting - increase wait times and try again
    * Some URLs may be invalid or return errors - check your URL list
  </Accordion>

  <Accordion title="Extracted data is incorrect">
    **Problem:** The scraper extracts the wrong data or includes extra content.

    **Solutions:**

    * Use "Verify" on the test URL to see exactly what's being selected
    * Try clicking more precisely on the exact element you want
    * Remove the field and select it again
  </Accordion>

  <Accordion title="Can't reuse a saved scraper on similar pages">
    **Problem:** A scraper that works on one domain doesn't work on another similar website.

    **Solutions:**

    * Scrapers are domain-specific by design
    * Create a new scraper for the new domain
    * You can export the old scraper and manually modify the JSON if the sites are very similar
  </Accordion>

  <Accordion title="Upload CSV shows wrong URLs">
    **Problem:** After uploading a CSV, the wrong column is being detected as URLs.

    **Solutions:**

    * Make sure your CSV has a header row
    * Manually select the correct column from the dropdown
    * Check that URLs are properly formatted (include `https://` or `http://`)
  </Accordion>
</AccordionGroup>

<Card title="Learn List Scraping" icon="arrow-left" href="/list-scraping">
  Learn how to scrape lists of items with URLs that you can use for details scraping
</Card>
