python爬取51job网站职位信息并绘图

时间: 2023-07-13 10:32:31 浏览: 67
好的,以下是爬取51job网站职位信息并绘图的步骤: 1. 确定要爬取的职位和地区,以及需要的数据字段。可以使用Python中的requests、beautifulsoup4等库进行网页解析和爬取。 2. 通过分析网页结构,确定要爬取的数据在哪个标签中,例如可以使用BeautifulSoup库中的find_all方法找到所有职位信息所在的标签。 3. 将爬取到的数据存储到本地文件或数据库中,可以使用Python中的csv、pandas等库进行数据处理和存储。 4. 对爬取到的数据进行分析和绘图,可以使用Python中的matplotlib、seaborn等库进行数据可视化。 以下是一个简单的示例代码,用于爬取51job网站上的Python职位信息并绘制饼图: ```python import requests from bs4 import BeautifulSoup import pandas as pd import matplotlib.pyplot as plt # 设置请求头,模拟浏览器访问 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 构造请求url url = 'https://search.51job.com/list/010000,000000,0000,00,9,99,Python,2,{}.html' # 循环爬取所有页面的职位信息 data = [] for i in range(1, 6): res = requests.get(url.format(i), headers=headers) soup = BeautifulSoup(res.text, 'html.parser') job_list = soup.find_all('div', class_='el') for job in job_list: job_name = job.find('a', target='_blank').text.strip() company_name = job.find('span', class_='t2').text.strip() salary = job.find('span', class_='t4').text.strip() if salary == '面议': continue data.append({'job_name': job_name, 'company_name': company_name, 'salary': salary}) # 将爬取到的数据存储到本地文件中 df = pd.DataFrame(data) df.to_csv('jobs.csv', index=False) # 对爬取到的数据进行分析和绘图 df = pd.read_csv('jobs.csv') df['salary'] = df['salary'].apply(lambda x: int(x.split('-')[0])) df['salary_range'] = pd.cut(df['salary'], [0, 5000, 10000, 15000, 20000, 30000, 50000, 100000]) salary_count = df['salary_range'].value_counts() plt.pie(salary_count, labels=salary_count.index, autopct='%1.1f%%') plt.title('Python职位薪资分布') plt.show() ``` 这段代码会爬取前5页的Python职位信息,并将职位名称、公司名称和薪资存储到本地文件中。然后,对薪资进行分段处理,统计每个薪资段的职位数量,并绘制饼图展示。

相关推荐

最新推荐

recommend-type

Python爬取当当、京东、亚马逊图书信息代码实例

主要介绍了Python爬取当当、京东、亚马逊图书信息代码实例,具有一定借鉴价值,需要的朋友可以参考下。
recommend-type

用python爬取网页并导出为word文档.docx

mongodb的应用之用python爬取网页内容并用mongodb保存. 由于mongodb是文档型数据库,区别于传统的数据库,它是用来管理文档的。在传统的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的...
recommend-type

Python爬取数据并写入MySQL数据库的实例

今天小编就为大家分享一篇Python爬取数据并写入MySQL数据库的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

Python爬取数据并实现可视化代码解析

主要介绍了Python爬取数据并实现可视化代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

python 爬取马蜂窝景点翻页文字评论的实现

主要介绍了python 爬取马蜂窝景点翻页文字评论的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。