Web Scraping Industry Salaries from Glassdoor
My interest in scraping glassdoor is due to the fact that I recently graduated from college. I was interested in seeing industry salaries for popular cities, along with their associated ratings.
The questions I asked:
- How much does someone make in each industry?
- What is the average salary in each state?
- Are salary and company rating related?
The Scraping Process
Using Scrapy, my plan was to look up every job posting on Glassdoor. After viewing each posting, I would be able to retrieve information such as the job title, the company’s name, the estimated salary for the posting, rating, and industry the job was in.
The data collection seemed like it was going to be relatively straightforward, but there were a few unforeseen problems that I encountered.
Once I found this separate page which hosted the missing data, I was able to scrape the company information successfully.
Encountering a max search result
Another problem I encountered was a strange error where my code would break whenever it reached the 31st page of Glassdoor. As I investigated the problem, I learned that Glassdoor only provides the first 30 pages for its viewers. Even though it states “30 out of 5277 pages”, there is no 31st page (or any page past it)
The Scraping Process: The Solution
In order to gather enough data, I decided to look up 16 different cities across the US and find all the job postings located in those areas. I also discovered a way for my spider to go to the next website programmatically, by decoding what each part of the URL meant.
After overcoming these two obstacles, I was able to scrape all the necessary information from Glassdoor.
The Visualization Analysis
After scraping for and pre-processing my data, I was finally able to visualize the questions I first asked, with a further investigation into the results.
In this chart, I summed the number of job postings in each industry. Looking at the top 3 job posted industries, we have Business Services, Information Technology, and Finance. If we had more data, it would be interesting to look at how each industry evolved over the years. For example, it would be interesting to look into information technology and see when its inception to mainstream culture occurred.
In this graph, I averaged all the industry salaries, along with the estimated salary low and estimated salary high, to provide myself with the highest paying industry. The top five highest mean salary, from highest to lowest, is Information Technology, Finance, Manufacturing, Construction Repair, and Business Services. Again we see Information Technology and Business Services in the top portion of our industry salary.
In this graph, I was interested in seeing which industry had the most touted rating. It's interesting to see Construction Repair and Real Estate as the first and third highest rated industry. To dig into the data we've just visualized, I found out there's a reason as to why those industries are so highly rated.
According to FastCompany, TINYpulse surveys revealed the top three issues standing in the way of happy employees were:
- Managers who aren’t supportive
- Not having the tools to succeed
- No opportunity for professional growth
In the construction industry, a variety of organizations offer coaching and career mentorship to students. Once they’re ready for the workforce, the industry has a long history of providing new workers with apprenticeships so they can learn the skills required to move on to tackle more challenging work.
After looking at some metrics involving industry, I was interested in looking at some states. To begin my search, I summed all the number of job postings in each state.
California, Texas, and New York have the largest amount of jobs posted on glassdoor.
Aggregating each state mean salary, we see that California, New York, and Illinois have the highest mean salary.
To see which state has the highest rating. We see that Massachusetts has the highest mean rating, followed by Califonia.
Now that we've gathered information on industries, I was interested in diving into the salaries, job postings, and ratings per city. The cities aggregated below are cities that are popular amongst the younger workforce.
As you can see, New York, Chicago, Los Angeles, Houston, San Fran... have a large number of job postings. Now to dive a little further into the information, we look at average salary.
We see here that San Fran, San Jose, New York, and Austin have a high average salary. It's assumed that San Fran, New York, and San Jose would have a higher average salary, as we saw, Business Services and Information Technology are the two highest paying industries. For those cities listed before, they promote those specific jobs, which will indicate the high salary pay. For Austin, I had to take a quick look as to whether theirs a problem with my dataset. As it turns out, Austin is a growing digital city, which means there are many job postings for information technology jobs.
Coming to a conclusion, I was interested to see if their is a linear regression with rating and salary. We see here that there is no relation between salary and rating.