Scrapy爬虫之拉勾网招聘数据分析最低薪资柱状图
时间: 2024-11-15 12:20:41 浏览: 0
Scrapy是一个强大的Python爬虫框架,常用于抓取网站上的结构化数据。要从拉勾网(Zhaopin)这样的招聘网站上获取最低薪资数据并制作柱状图,你需要经过以下几个步骤:
1. **获取HTML数据**:
首先,使用Scrapy编写一个Spiders(爬虫),设置起始URL,并解析页面内容找到包含最低薪资信息的部分。这通常涉及到XPath或CSS选择器的选择。
```python
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'zhipin'
allowed_domains = ['zhaopin.com']
start_urls = ['http://job.zhaopin.com/jobs/']
def parse(self, response):
min_salaries = response.css('.salary::text').getall() # 假设最低薪资在CSS class为'salary'的元素中
yield {'min_salary': min_salaries}
```
2. **数据清洗**:
获取到原始数据后,可能会包含非数字字符,需要清理和转换成数值形式。
```python
def clean_salary(salaries):
return [float(s.replace(',', '')) for s in salaries if s.isdigit()]
min_salaries = clean_salary(min_salaries)
```
3. **存储数据**:
将处理后的数据保存到本地文件或数据库,以便后续分析。
4. **数据分析与可视化**:
使用pandas库处理数据,然后利用matplotlib或seaborn库创建柱状图。假设我们已经将数据集存储为list of lists。
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'职位类别': '招聘信息', '最低薪资': min_salaries})
df['最低薪资'] = df['最低薪资'].astype(float)
plt.figure(figsize=(10, 6))
ax = df.plot(kind='bar', x='职位类别', y='最低薪资')
ax.set_xlabel('职位类别')
ax.set_ylabel('最低薪资(元)')
plt.title('拉勾网各职位最低薪资分布')
plt.show()
```
阅读全文