Founded in 1939, RONA is one of the leading home improvement companies in Canada. It is owned by Lowe’s Canada and has over 375 stores throughout the country. RONA has thousands of products online and in-store, which range from building supplies, appliances, furniture, décor and much more. All of these products can be easily scraped with ParseHub, our free visual web scraping tool.

To follow through with this blog, first, register and download ParseHub for free.

Let’s start scraping RONA products!

Scraping Products

  1. Start by opening the ParseHub application and log in.
  2. Create your new project with the “New Project” button.
  3. Enter the RONA URL you wish to scrape from, we will choose this one to scrape insulation building supplies: https://www.rona.ca/en/building-supplies/insulation-16660
  4. Select the first product by clicking its name, the rest of the products should turn yellow.
  5. Click the next product name and all products should now be selected.
  6. Rename the selection on the left to “product”.

Scraping Prices

Since each product’s price is relative to its name, we will need to use ParseHub’s Relative Select tool. You can redo these steps for other relative data, such as the product ratings.

  1. Click the PLUS(+) button next to the “product” selection from the last step.
  2. Choose the “Relative Select” tool and click the first product’s name
  3. An arrow will appear, point it to the price.
  4. It will only select the dollar amount and not the cents, so we need to zoom out.
  5. Press Ctrl/Cmd+1 to zoom out a few times until the full price div is selected, then click it.
  6. Rename this selection on the left to “price”.
  7. You have now extracted the prices! However, we can clean the data up in the next step.

Cleaning Up The Data

In order to add decimals to the split-up prices, and remove the rest of the text, we need to use Regular Expressions and ParseHub Expressions.

  1. Click the “price” extraction from the last step, and expand it.
  2. In the extraction where it says “$e.text” you will need to add: “.replace(" ",".")” - so the full text box should be: $e.text.replace(" ","."), which adds decimals to the spaces.
  3. Now we need to use Regex to only have numbers and the decimal, begin by clicking the “Use regex” checkbox.
  4. Enter this expression to get the prices correctly: ([0-9]+.[0-9]+)
  5. Your prices should now be cleanly extracted!

Pagination

If we ran the project right now, ParseHub would only scrape 48 products on the first page. To scrape multiple pages, we need to add pagination.

  1. Start by navigating to the bottom of the page, where you see the page navigation bar.
  2. Click the PLUS(+) icon next to the “page” selection and choose “Select”.
  3. Click the next page right arrow to extract it.
  4. Rename this selection to “pagination” and expand it.
  5. Delete the two extractions as it adds unnecessary data to your table.
  6. Click the PLUS(+) button on your “pagination” selection and choose “Click”.
  7. Choose “Yes” on the popup, as this is a next page button.
  8. Choose the additional amount of pages you wish to scrape, we will put 2, which means 3 pages in total.

Starting Your Scrape

You have successfully set up your project for scraping! To begin the scraping process on ParseHub’s server, you will need to click the green “Get Data” button on the left pane. You can now choose to “Test Run”, “Run” or “Schedule” your scrape. Testing your run can be useful for finding bugs in your project, and Schedule is useful for up-to-date data. We will choose run to scrape three pages in total which we specified in the pagination step.

If you followed the steps correctly, your data should look something like this!

However, if you are running into any issues scraping products, from any website, feel free to contact our amazing support team!

We hope you enjoyed this scraping guide, you may also like this guide on scraping any eCommerce website.

Happy Scraping! 🛍️