In this blog post, we will show you how to scrape the ASOS website and its products using our free web scraper, ParseHub. ASOS is a well-known British fashion and beauty retailer that operates and ships globally to 195+ countries. Founded in the year 2000 in London, ASOS offers their own label, known as ASOS Design, as well as more than 850 other brands, similar to an outlet retailer.

The retailer offers men’s and women’s wear, shoes, accessories, makeup and beauty products and jewelry. ASOS also offers an impressive “Style Match” tool, which allows you to upload an image and gives you similar products using AI. Their “You Might Also Like” feature is also built with AI and Machine Learning.

According to the Senior Product Manager at ASOS, Jason Gregory, ASOS has over 85,000+ products on its website and averages 5,000+ new products every week. That is a lot of data, which is great, it allows you to truly test ParseHub’s scraping capabilities!

Before you begin this tutorial, make sure to register for your free ParseHub account and download ParseHub to follow along.

Let’s begin scraping the ASOS website!

Scraping Products

  1. Start by opening ParseHub and clicking the “New Project” button.
  2. You may now enter the ASOS web page you’d like to scrape, we will be using this URL to scrape men’s wear on sale:
  3. Click the “Start project on this URL” button.
  4. Click the first product’s name to extract it.
  5. The rest of the product names should turn yellow, click the next product name to train the ParseHub algorithm.
  6. All 72 products on the front page should now be extracted!
  7. Rename this extraction to “product” on the left pane.
Extracting product names with ParseHub

Scraping Additional Data

To scrape relative data points, such as each product’s price, we need to use the Relative Select command.

  1. Click the PLUS(+) icon next to your “product” selection from the last step.
  2. Choose “Relative Select”.
  3. Click the first product’s name, and an arrow should appear.
  4. Point your cursor to the price, and click it to connect the arrow.
  5. All product names should now point to their respective price.
  6. Rename this selection to “price” on the left pane.
  7. Expand this selection and remove the URL as it’s the same URL from our first selection.
  8. Redo these steps for other data points, such as the percentage discount.
Extracting additional data using relative select on ParseHub

Loading More Products (Pagination)

When scraping more than a single page, we need to use ParseHub’s pagination. ASOS has a “Load More” button after you scroll through the first 72 products.

  1. Start by scrolling to the bottom of the page, until you see the “Load More” button.
  2. Click the PLUS(+) icon next to your “page” selection.
  3. Choose “Select” and click the “Load More” button.
  4. Expand the selection and remove the two attributes.
  5. Rename this selection to “pagination”.
  6. Click the PLUS(+) icon next to your pagination selection.
  7. Choose “Click” and a popup will appear.
  8. Click “Yes” as this is a next page button.
  9. You can now choose how many additional pages you’d like to scrape, we will choose 4 which means 5 pages in total. You can choose 0 to scrape every single page.
  10. You can now scrape more than 72 products!
Scraping Multiple ASOS Pages with Pagination

Bypassing Scraping Blocks

Some websites block scraping using many different methods. Using ParseHub’s IP Rotation feature, you can easily bypass blocks. Note that IP Rotation is a paid feature of ParseHub. To enable IP Rotation, follow these steps:

  1. Click the settings cog on the top left, next to the save icon.
  2. In the drop-down, choose Settings.
  3. You will now see the IP Rotation check box on the left pane.
  4. Enable IP Rotation and accept the popup.
  5. You can now scrape ASOS without blocks!
IP Rotation ParseHub

Start Scraping

Now that you have extracted product names and prices, set up pagination and IP rotation, it is time to begin your scraping project on ParseHub’s servers! Start by clicking on the green “Get Data” button on the left pane. You can choose to test, run or schedule your scrape. In our case we will choose Run, to scrape the 5 pages which we chose in the pagination step.

Once the scrape is complete you will be able to download the file as a CSV or JSON. If you followed our tutorial correctly, your data should look like this:

ASOS Scraping Results

We hope you enjoyed this tutorial on scraping ASOS products! If you want to learn more, we also have a blog post on scraping e-commerce websites.

Feel free to reach out to our ParseHub support team if you have any questions or run into any scraping issues!

Happy Scraping! 🛍️