Did you ever need work done online but didn’t have the time or resources? Chances are you have heard of Freelancer.com! There are over 40 million users in over 247 countries on Freelancer.com and growing. There are thousands of job postings and ready-to-hire freelancers that can be scraped using ParseHub, our free visual web scraper! In this blog post, we will focus on scraping freelancers, but you can use the same method to scrape job postings off Freelancer.com as well.
To follow along with this tutorial, we suggest you first download and sign up to ParseHub for free.
Let’s Begin Scraping Freelancers!
- Firstly, install ParseHub on your Mac, PC or Linux device. You will need to register and log in to ParseHub to begin scraping.
- Once the application loads, click “New Project” to start your Freelancer scraping project.
- You will be asked to enter the URL you wish to scrape, for this tutorial we will scrape WordPress developers with this URL: https://www.freelancer.com/freelancers/skills/wordpress
- You should now see the webpage load on the embedded browser as well as the first ten freelancers!
Making Your First Selection
- Firstly, click the first freelancer’s username and it should turn green.
- Then click the next freelancer’s username which is yellow.
- Now all 10 of the freelancers on this page should now be selected!
- Rename this selection on the left pane to “freelancer”.
- You should now see the freelancer usernames and URLs in the live preview below.
Extracting More Freelancer Data
Now that we have every single freelancer on the page, it is time to use the relative select command to extract additional data:
- First, click the PLUS(+) icon next to the “freelancer” selection you made earlier.
- Choose “Relative Select” and click the first freelancer’s username.
- Move the cursor to the freelancer’s hourly rate and you should see an arrow.
- Click the hourly rate, you should see all the freelancers pointing an arrow to their rates!
- Rename this selection to “rate” on the left pane on ParseHub
- Repeat this relative selection process for other data, such as the freelancer’s skills:
Scraping Freelancer Ratings
Ideally, the steps for scraping freelancer ratings should be same as the steps before, however, the selection is trickier to extract. Follow these steps to extract the ratings:
- Begin by making a relative select on your freelancer entry using the PLUS(+) icon.
- Click the first freelancer and then the rating number next to the stars.
- Rename this selection to “rating”, the live data will currently be empty.
- Expand the rating selection and click the “Extract rating” selection.
- Next to “Extract” you should see a drop down, select the “data-star_rating” Attribute.
- Finally, in the live preview you should see the freelancer’s rating out of 5!
Scraping More Freelancers (Pagination)
You might think you’re ready to scrape, however if begun, you would only scrape the first 10 freelancers! To scrape freelancers on the next set of pages, you need to add pagination to your project. Here is how to add pagination:
- On the “page” entry click the PLUS(+) icon and click Selection.
- Hover over the next page navigation arrow on the top or bottom of the page.
- You might notice the arrow cannot be selected. Hold down ctrl/command and press 2 on your keyboard to zoom into the container.
- Click the next page button and now the arrow should now be extracted.
- Rename this selection on the left pane to ‘pagination’.
- Click the expand button next to your pagination selection and delete the extraction, since it will add unnecessary data to your table.
- Next, click the PLUS(+) icon next to your pagination selection and choose “Click”
- On the popup, choose “Yes” as the selection is a next page button.
- You will now be asked how many other pages you want to scrape, if you choose zero, all the pages available will be scraped!
- In our example, we chose to repeat the scrape 2 more times, which means 3 pages of data in total.
Running Into Blocks
With our example of three pages total, we did not run into any issues with blocks or empty results, which is good news! If you do run into blocks, you will need to enable IP Rotation in the settings. This is a paid feature of ParseHub, but in the case of Freelancer.com, it seems like it is not needed.
Note that there are over two thousand pages to scrape for WordPress freelancers alone. If this is your goal, you may or may not need to sign up for the paid plan of ParseHub to bypass blocks.
Starting your Freelancer.com Scraping
Great job setting up your project, you are now ready to start scraping on ParseHub’s servers!
To begin scraping, click the green “Get Data” button on the left, or in the settings drop down. You can now choose to Test, Run or Schedule your scrape, in our case we chose Run to start the scraping process a single time. After a brief moment your data will be ready to save as a CSV for your spreadsheets, or JSON for web applications.
If you followed all the steps correctly, your export should look like this:
Great job! We hope this blog post helped you scrape Freelancer.com and the vast amount of data available on their website.
You can use these same steps to scrape jobs and projects on Freelancer.com as well!
If you have any questions about web scraping, or have any scraping issues on ParseHub, feel free to contact us or send us a chat message!
Happy Scraping! 📊