eBay has over 1.3 billion product listing.
That’s a lot of data.
This data can be valuable for market research, competitor research, to find your next hot bid, and much more.
However, there’s no easy way to just export all the product data housed on eBay.
That’s true unless you’re taking advantage of web scraping.
We're going to show you how you can scrape eBay to extract data like product details, prices, sellers and more!
Web Scraping eBay with ParseHub
A web scraper is a piece of software that will allow you to choose the exact data you want from eBay’s website and let you download it as an Excel or JSON file.
For our example today, we will use ParseHub, a free and powerful web scraping that can work with any website.
Make sure to download ParseHub for free before getting started.
Scraping eBay Data
For our example today, we will scrape data from the eBay search results page for the term “Smartphone”. This will include product details, pricing and more.
Let’s get started.
- Install and Open ParseHub. Click on “New Project” and enter the URL you will be scraping. For this example, we will scrape the search results page for the term “smartphone”. The page will now be rendered inside the app.
- Start by clicking on the title of the name of the first product on the list. It will be highlighted in green to indicate it has been selected. On the left sidebar, rename your selection to “product”.
- The rest of the product names in the page will be highlighted in Yellow, click on the second one on the list to select them all. They will all now be highlighted in Green. ParseHub is now pulling the name and URL of each product on the page.
- Let’s extract more data. Start by clicking on the PLUS(+) sign next to your product selection and choose the Relative Select command.
- Using the Relative Select command, click on the name of the first product on the list and then on its price. An arrow will appear to show the association you’re creating.
- You might have to repeat this process for another product to fully train the scraper On the left sidebar, rename your selection to “price”.
- Repeat steps 5-6 in order to pull more data for each product. In this case, we will also pull the day lefts, shipping costs and units sold. Your project should looks somewhat like this:
Scraping more details
ParseHub is currently only scraping data from the search results page. But there’s only so much that we can pull from here.
Let’s now setup ParseHub to click on each listing and pull additional information.
- Click on the PLUS(+) sign next to your “product” selection and choose the Click command.
- A pop-up will appear asking you if this is a “next page” link. Click on “no” and enter a name for this template. We will call it “product_page”. You will now be taken to the product page of the first listing on the page.
- The product page will render in a new browser tab and you will be able to make your first selection of data to extract. In this case, we will select the seller name by clicking on it. In the left sidebar, rename your selection to “seller”.
- Click on the PLUS(+) sign next to the “page” selection, choose the Select command and you will be able to create new select commands and click on more data to extract. We will do this to also pull the seller rating and number of seller reviews. Your project should look like this:
Adding Pagination
ParseHub is now pulling all the data we have selected for the products on the first page of results. Let’s not set it up to extract additional pages of data.
- Return to your main_template using the left-side tabs. Use the browser tabs to go back to the search results page.
- Click on the PLUS(+) sign next to your “page” selection and choose the Select command. Scroll all the way to the bottom of the page and click on the “next page” link. Rename your selection to “pagination”.
- Expand your “pagination” selection using the icon next to it.
- Delete both “extract” commands under your “pagination” selection.
- Click on the PLUS(+) sign next to your “pagination” selection and choose the Click command.
- A pop-up will appear asking you if this is a “next page” link. Click on “Yes” and enter the number of additional pages you would like to scrape. In this case, we will scrape 5 more pages.
Running Your Scrape
You are now ready to run your scraping project and let ParseHub extract all the data for you.
Do this by clicking on the green “Get Data” button on the left sidebar.
Here, you will be able to test, run or schedule your project. If you want up-to-date data on a daily or weekly basis, you can go with the schedule option.
In this case, we will just run it right away.
Closing Thoughts
ParseHub is now off to run your scrape in our servers. Meaning that your computer resources are not being used for scraping. You can freely work on something else while you wait.
Once your scrape is complete, ParseHub will notify you and you will be able to download your scrape as an Excel or JSON file.
If you run into any issues while setting up your project, reach out to us via the live chat on our site and we will be happy to assist you.
Happy Scraping!
Read the other how to guides we have made to scrape different types of websites: