基于Python的猎聘网招聘数据采集与可视化分析

1.1项目简介

在现代社会,招聘市场的竞争日趋激烈,企业和求职者都希望能够更有效地找到合适的机会与人才。猎聘网作为国内领先的人力资源服务平台,汇聚了大量的招聘信息和求职者数据,为研究招聘市场趋势提供了丰富的素材。基于Python的猎聘网招聘数据采集与可视化分析,旨在通过技术手段深入挖掘招聘数据背后的价值。通过爬虫技术,可以自动化地获取猎聘网的招聘信息,包括职位名称、薪资范围、工作地点、公司规模等关键数据,为后续分析打下基础。通过图表和可视化工具,研究者能够直观地展示招聘市场的趋势和变化,帮助企业和求职者更好地把握市场动态,做出明智决策。同时,分析结果还可以为招聘策略的制定提供数据支持,助力企业优化人才招聘流程。

基于Python的猎聘网招聘数据采集与可视化分析,不仅为研究招聘市场提供了工具和方法,也为行业发展提供了重要的决策依据,具有重要的理论和实际意义。

1.2课题目标

基于Python的猎聘网招聘数据采集与可视化分析的研究目标主要集中在以下几个方面。

数据采集是本研究的核心目标之一。通过使用Python中的爬虫技术,系统化地获取猎聘网上的招聘信息,包括职位名称、薪资、工作地点、公司类型、招聘时间等关键信息。通过自动化的数据采集,节省人工收集时间,确保数据的全面性和准确性,为后续分析提供坚实的数据基础。

数据清洗和预处理是确保分析结果可靠的重要环节。研究目标包括对采集到的数据进行去重、缺失值处理和数据格式标准化等操作,以提高数据质量,从而增强分析的有效性和准确性。

数据分析是另外一个重要目标。利用Python的Pandas和NumPy等库,深入分析招聘数据中的趋势和特征,包括薪资水平的分布、热门职位的变化、地区招聘需求及其增长等。通过对数据进行定量分析,揭示招聘市场的潜在规律和发展趋势。

数据可视化是提升分析结果传播效果的关键环节。通过使用Matplotlib和Seaborn等可视化工具,将分析结果以图表形式呈现,使得复杂数据变得直观易懂。研究的最终目标是为企业和求职者提供可视化的市场洞察,帮助他们更有效地制定招聘和求职策略,推动招聘市场的优化发展。通过这些研究目标,旨在为人力资源管理和决策提供科学依据。

2 设计思路

2.1开发环境与工具

开发环境主要包括Python编程语言、网络爬虫技术、数据处理与分析库、数据可视化工具以及Pycharm开发环境,并运用到 Requests,Pandas,Numpy,等库。该项目的开发环境如下表 2-1 所示。

表2-1 系统开发环境版本表

开发工具

版本

Pycharm

PyCharm Community Edition 2023.2.1

Python

Python 3.9

Pandas

Pandas 1.1.5

Matplotlib

Matplotlib 3.5.3

2.1.1 Pycharm

PyCharm是一款强大的Python集成开发环境(IDE),由JetBrains公司开发,广泛应用于数据分析、Web开发、人工智能等多个领域。在基于Python的猎聘网招聘数据采集与可视化分析项目中,PyCharm提供了众多便利的功能,极大地提升了开发效率和编码体验。PyCharm具备智能代码补全和实时错误检测的功能,能够帮助开发者快速编写高质量的Python代码。在进行数据采集时,使用PyCharm可以轻松调用第三方库,如BeautifulSoup和Scrapy,进行网页爬虫和数据提取。同时,其内置的调试工具使得开发者能够逐步调试代码,快速定位和修复问题,从而提升数据采集的准确性和效率。PyCharm提供了强大的项目管理功能,支持虚拟环境的创建和管理,方便开发者在不同项目间切换,避免库版本冲突。在猎聘网招聘数据分析中,使用PyCharm可以轻松管理各种数据处理和可视化库,如Pandas、Matplotlib和Seaborn,使得数据处理和可视化分析更加顺畅。

2.2.2 Python

Python是一种广泛使用的高级编程语言,以其简洁易读的语法和强大的功能而闻名。在基于Python的猎聘网招聘数据采集与可视化分析中,Python的优势体现在多个方面,使其成为数据科学和分析领域的热门选择。Python拥有丰富的库和框架,特别适合数据处理和可视化。例如,使用BeautifulSoup和Scrapy等库,可以轻松实现网页爬虫,自动化地从猎聘网采集招聘信息。同时,Pandas库为数据清洗和整理提供了强大的支持,让用户能够高效地处理和分析数据;而NumPy则为数值计算提供了基础,能够加速数据处理过程。Python在数据可视化方面同样表现出色。借助Matplotlib和Seaborn等可视化库,开发者可以将分析结果以图表的形式呈现,直观地展示招聘市场的趋势和特点。这种可视化能力不仅有助于分析结果的理解和传播,还能帮助企业和求职者做出更为明智的决策。Python具有良好的跨平台特性,能够在Windows、macOS和Linux等多种操作系统上运行,方便开发者在不同环境中进行工作。同时,Python社区活跃,丰富的在线资源和文档,使得开发者在遇到问题时能够快速找到解决方案。

2.2.3 Requests

在基于Python的猎聘网招聘数据采集与可视化分析中,Requests库作为一款强大的HTTP库,扮演着至关重要的角色。Requests库使得编写网络爬虫变得简单而高效,极大地简化了HTTP请求的过程,成为数据采集的热门工具。Requests库的一个主要优势是其友好的接口和易于使用的语法。通过简单的几行代码,开发者可以发送GET或POST请求,获取目标网页的HTML内容。这对于猎聘网等招聘平台的数据采集尤为重要,用户只需指定目标URL,Requests库便可自动处理连接和请求,返回的数据也易于解析和存储。Requests库支持各种HTTP功能,包括请求头的自定义、会话管理、Cookie处理等。在数据采集过程中,有时需要模拟真实用户的访问行为,以避免被网站识别为爬虫。通过设置请求头和使用会话对象,开发者能够有效地模拟浏览器请求,增强抓取的成功率。Requests库与BeautifulSoup等解析库结合使用,可以实现更为强大的数据提取功能。采集到的HTML内容可以通过BeautifulSoup进行解析,提取所需的招聘信息,如职位名称、薪资、公司名称等。这样,开发者可以灵活地获取和处理数据,为后续的分析和可视化奠定基础。

2.2.4 Pandas

在基于Python的猎聘网招聘数据采集与可视化分析中,Pandas库发挥着核心作用。Pandas是一个强大的数据处理和分析库,特别适合处理结构化数据,使得数据操作变得高效而简便。Pandas提供了两种主要的数据结构:Series和DataFrame。其中,DataFrame是一个二维的表格结构,类似于电子表格或数据库的表格,非常适合存储和操作来自猎聘网的招聘数据。在数据采集完成后,开发者可以轻松地将爬取到的招聘信息(如职位名称、薪资、公司名称和工作地点等)存储为一个DataFrame,便于后续的数据清洗和分析。Pandas具备强大的数据处理功能。通过其丰富的方法,用户可以快速进行数据筛选、排序、分组、合并和透视等操作。这些功能使得开发者能够对招聘数据进行深入分析,识别出热门职位、薪资水平和不同地区的招聘需求等趋势。例如,可以利用Pandas对薪资数据进行分组统计,从而揭示不同职位或行业的薪资差异。Pandas与数据可视化库(如Matplotlib和Seaborn)无缝集成,方便将分析结果以直观的图表形式展现。开发者可以直接通过Pandas生成图表,帮助用户更好地理解招聘市场的变化和趋势。

2.2技术架构

基于Python的招聘数据采集与可视化分析的技术架构主要包括数据采集、数据处理和分析、以及数据可视化三个关键部分:

  1. 爬虫模块:数据采集是整个分析流程的第一步,主要通过Python中的Requests库。具体流程包括:发送HTTP请求:使用Requests库发送GET请求,获取猎聘网上的招聘信息页面。解析网页内容:采用json解析获取的api接口数据,提取所需的信息,例如职位名称、薪资范围、公司名称、招聘要求和工作地点等。存储数据:将提取到的数据存储为CSV文件,为后续的数据处理做准备。

  2. 数据清洗模块:这一部分主要使用Pandas库来进行数据清洗、处理和分析,具体步骤包括:通过Pandas对采集到的数据进行去重、缺失值处理和格式标准化,以保证数据的质量和一致性。利用Pandas进行数据分组、聚合和统计分析,识别招聘市场的趋势和特征。例如,分析不同职位的薪资水平、地区招聘需求的变化等。将数据进行整理和转化,以便于后续的可视化包括将数据转换为适合绘图的格式,或计算新的特征变量。

  3. 在数据可视化阶段,主要通过Matplotlib和Seaborn等可视化库实现。具体步骤包括:根据分析结果,使用Matplotlib和Seaborn绘制柱状图、折线图、饼图等多种图表,以展示招聘数据的趋势和特征。对图表进行美化和定制,包括设置标题、坐标轴标签、颜色方案等,提高可读性和视觉效果。将可视化结果汇总成报告,为企业和求职者提供决策依据。

技术架构图如下2-1:

图2-1技术架构图

3 数据采集

本项目采集猎聘网招聘网站招聘数据4093条存入csv。采集的网页信息如下图:

数据采集的实现过程主要依赖于使用Requests库向猎聘网的API发送请求,并处理返回的数据。具体的过程如下:

代码中定义了一个名为post_data的函数,负责进行数据采集。该函数首先设置了请求的目标URL,即猎聘网的招聘信息API接口。然后,定义了HTTP请求的头信息(headers),这些头信息模拟了真实用户的浏览器请求,以避免被网站识别为爬虫。这些头信息包括了常见的用户代理、内容类型和来源等信息,确保请求能够顺利通过。

代码定义了一个职位行业的列表,覆盖多个行业类别,如“大数据”等。对于每个行业,程序将循环遍历每一页的招聘信息,最多获取21页的数据。每页的请求都包含了特定的请求体(data),其中mainSearchPcConditionForm部分指定了城市、当前页面、每页大小以及行业类型等参数。这样,通过设置不同的请求参数,程序能够获取到不同页面的招聘信息。

在每次发送POST请求后,程序会通过requests.post方法将请求发送到指定的URL,并将响应结果存储在response对象中。为避免对服务器造成过大压力,代码中使用了time.sleep(2),让程序在每次请求之间暂停2秒,控制请求频率。

一旦成功接收到响应,程序会调用parse_data函数解析响应内容。该函数首先尝试将JSON格式的响应数据转换为Python对象,并从中提取出招聘信息列表jobCardList。如果解析成功,程序会将提取到的招聘信息传递给sync_data2db函数进行后续处理。

在sync_data2db函数中,程序会遍历所有的招聘信息,并将每条信息的相关字段(如岗位名称、学历要求、工作经验、发布时间、链接、地区、薪资、标签、公司名称、行业、公司规模和融资情况)写入到CSV文件中。使用Python内置的CSV模块,程序以追加模式打开目标CSV文件,并使用csv.writer将每条招聘数据写入新的一行。主要代码如下图。

采集结果如下图:

4 数据处理

4.1数据去重和标准化

具体实现如下:

去重处理:使用data.drop_duplicates(inplace=True)方法去除数据中的重复行。这一步骤对于确保分析结果的准确性非常重要,因为重复的数据可能会导致统计结果失真。

学历信息标准化:在处理学历数据时,使用data['学历']=data['学历'].str.replace('统招本科','本科')将学历字段中的“统招本科”统一替换为“本科”,保证数据的一致性,减少分类时的困扰。去重和标准化后数据集信息如下图。

4.2数据分组统计和汇总

主要包括对不同维度数据的分组统计和汇总。具体实现如下:

薪资分布的分段:使用pd.cut方法将薪资数据分为多个区间,并为每个区间指定标签。price_bin = pd.cut(data['薪资'], bins=[0,5000,10000,15000,20000,25000,30000,1000000], ...)将薪资信息划分为“<5000元”、“5000元-10000元”等多个等级,便于后续进行分布分析和可视化。

岗位数量统计:使用data.groupby方法对不同类别(如学历、工作经验、行业、公司规模、公司融资情况)进行分组,并统计每个类别下的岗位数量。例如,data1=data.groupby('学历')['岗位名'].count().reset_index()将数据按学历分组,计算每个学历类别下的岗位数量,并将结果存储在data1中。

平均薪资计算:同样使用groupby方法计算不同类别(如学历、工作经验、行业等)的平均薪资。data11=data.groupby('学历')['薪资'].mean().reset_index()实现了对每个学历类别的平均薪资计算,结果存储在data11中。分组统计和汇总后结果如下图。

4.3 数据合并

在统计得到岗位数量和薪资数据后,代码中有多个数据合并的步骤。具体实现如下:

合并岗位数量和平均薪资:使用pd.merge方法将岗位数量和平均薪资数据表合并,以便于后续的可视化展示。例如,combined_data = pd.merge(data3, data33, on='行业')将行业岗位数量与行业平均薪资合并在一起,便于进行行业分析。结果如下图:

5 数据分析与可视化

5.1薪资分布环形图实现

薪资分布环形图的实现主要通过以下几个步骤完成,具体过程如下:

薪资数据的分布通过pd.cut函数进行了分段处理。代码中使用price_bin = pd.cut(data['薪资'], bins=[0, 5000, 10000, 15000, 20000, 25000, 30000, 1000000], include_lowest=True, right=False, labels=['<5000元', '5000元-10000元', '10000元-15000元', '15000元-20000元', '20000元-25000元', '25000-30000元', '>30000元'])将薪资数据划分为七个区间,从而便于进行分布分析。每个薪资区间都被指定了相应的标签,便于后续在图中展示。使用pd.value_counts(price_bin)统计每个薪资区间的岗位数量,从而生成了一个包含各薪资区间及其对应数量的Series df_price。这一步骤的目的是为绘制环形图提供基础数据。在绘制环形图时,代码使用了plt.pie函数。其中,df_price作为数据源,labels=df_price.index用于指定各个区间的标签,autopct='%1.1f%%'用于显示每个区间所占总数的百分比,startangle=90则将图形的起始角度设置为90度,以便更好地展示数据。colors=plt.cm.tab20.colors指定了图形的颜色,使得图形更加美观。最后,为了形成环形图的效果,代码添加了一个白色中心圆,,程序成功绘制了薪资分布的环形图,直观地体现了不同薪资区间的岗位数量分布,帮助受众更清晰地理解薪资结构。如下图

5.2学历分布分析饼图实现

学历分布分析的饼图通过以下步骤实现。数据的清洗和整理是绘制饼图的基础。使用data.groupby('学历')['岗位名'].count().reset_index()统计不同学历类别下的岗位数量,结果存储在data1中。之后,饼图的绘制主要依赖于Matplotlib库中的plt.pie函数。具体实现中,代码plt.figure(figsize=(8, 8))设置了图形的大小,确保饼图在视觉上更加清晰。接着,使用plt.pie(data1['岗位名'], labels=data1['学历'], autopct='%1.1f%%', startangle=140)绘制饼图,其中data1['岗位名']提供了每个学历类别的岗位数量,labels=data1['学历']用于标注各个扇区的学历类型,autopct='%1.1f%%'设置了每个扇区占总数的百分比显示,startangle=140则指定了图形的起始绘制角度,以便优化扇区的视觉效果。最后,plt.title('学历分布分析')为饼图添加标题,并使用plt.axis('equal')确保饼图为圆形。通过这些步骤,程序成功生成了展示不同学历层次岗位数量比例的饼图,直观地反映了招聘市场中各学历层次的分布情况,帮助分析者理解学历与岗位数量之间的关系。如下图。

5.3工作经验与岗位数量分布柱形图实现

工作经验与岗位数量的分布柱形图通过以下步骤实现。数据的分组和统计是绘制柱形图的基础。通过data.groupby('工作经验')['岗位名'].count().reset_index()对数据进行分组,统计各工作经验类别下的岗位数量,并将结果存储在data2中。这一过程确保了数据结构适合进行可视化展示。使用Matplotlib库中的plt.bar()函数生成柱形图。代码plt.figure(figsize=(10, 6))设置了图形的大小,使图表更具可读性。随后,plt.bar(data2['工作经验'], data2['岗位名'], color='skyblue')绘制柱形图,其中data2['工作经验']为X轴的数据,表示不同的工作经验要求;data2['岗位名']为Y轴的数据,表示对应的岗位数量,color='skyblue'则为柱形图选择了明亮的颜色,增强了视觉效果。为了使图表更加清晰,代码中加入了X轴和Y轴的标签,分别通过plt.xlabel('工作经验')和plt.ylabel('岗位数量')进行设置,同时使用plt.title('工作经验与岗位数量分布')为图表添加了标题。plt.xticks(rotation=45)将X轴的标签倾斜45度,以防止文字重叠并提高可读性。通过这些步骤,程序成功绘制了展示不同工作经验要求下岗位数量分布的柱形图,为分析招聘市场对工作经验的需求提供了直观的视角。如下图。

5.4岗位数量和平均薪资组合柱形图实现

岗位数量和平均薪资的组合柱形图实现过程主要包括数据准备、图形创建和多Y轴的绘制。通过合并岗位数量和平均薪资数据,使用pd.merge函数将两个数据框结合,具体实现为combined_data = pd.merge(data3, data33, on='行业')。此操作将行业的岗位数量与平均薪资整合到一个数据框中,便于后续分析和可视化。接下来,使用Matplotlib库进行图形绘制,通过fig, ax1 = plt.subplots(figsize=(12, 6))创建一个图形和一个坐标轴,并设置图形大小,以增强视觉效果。绘制岗位数量的柱形图,代码ax1.bar(top_industries['行业'], top_industries['岗位数量'], color='tab:blue', alpha=0.6, label='岗位数量')将行业名称作为X轴,岗位数量作为Y轴,设置了柱子的颜色和透明度。为了更好地展示平均薪资,创建一个共享同一X轴的第二个Y轴,使用ax2 = ax1.twinx()实现。然后,使用ax2.plot(top_industries['行业'], top_industries['平均薪资'], color='tab:orange', marker='o', label='平均薪资')绘制描述平均薪资的折线图,设置了独特的颜色和标记样式,使得两种数据能够清晰区分。通过设置图表标题plt.title('行业岗位数量与平均薪资前十的组合柱形图')和显示图形plt.show(),将组合图展示给用户,使其能够直观地理解各行业在岗位数量和平均薪资方面的关系,从而为招聘决策提供数据支持。如下图。

5.5公司规模数量占比及公司规模平均薪资组合图实现

公司规模数量占比及公司规模平均薪资的组合图通过一系列步骤实现,主要利用Matplotlib库来展示数据。首先,数据准备阶段使用pd.merge将公司规模的岗位数量和对应的平均薪资合并到一个新的数据框中,代码实现为combined_data = pd.merge(data4, data44, on='公司规模')。这个操作确保每个公司规模的类别都有相应的岗位数量和平均薪资信息,方便后续的可视化。图形的绘制分为两个部分:环形图和柱形图。首先,通过fig, ax1 = plt.subplots(1, 2, figsize=(14, 6))创建一个包含两个子图的画布,设置图形大小,以便清晰展示信息。在第一个子图中,使用ax1[0].pie(combined_data['岗位数量'], labels=combined_data['公司规模'], autopct='%1.1f%%', startangle=90, colors=plt.cm.tab20.colors)绘制公司规模数量的占比环形图。此处,autopct='%1.1f%%'用于显示每个扇区的百分比,startangle=90则调整图形的起始角度,使得图形更加美观。

在第二个子图中,使用ax1[1].bar(combined_data['公司规模'], combined_data['平均薪资'], color='skyblue')绘制公司规模的平均薪资柱形图,X轴为公司规模,Y轴为平均薪资,颜色设置为明亮的天蓝色以增强视觉吸引力。此外,添加适当的标签和标题,通过ax1[1].set_xlabel('公司规模')和ax1[1].set_ylabel('平均薪资')进行X轴和Y轴的标注,确保用户可以轻松理解轴的含义。最后,通过plt.tight_layout()进行布局调整,确保图形元素不重叠,最终使用plt.show()展示组合图,使得信息清晰地呈现在用户面前,为分析公司规模与招聘市场的动态提供有力的可视化支持。如下图。

5.6公司融资情况岗位数量及公司平均薪资对比实现

公司融资情况的岗位数量及公司平均薪资对比图通过几个关键步骤实现,主要利用Matplotlib库的双Y轴功能来展示数据。数据准备阶段使用pd.merge将公司融资情况的岗位数量与平均薪资合并,具体实现为combined_data = pd.merge(data5, data55, on='公司融资情况')。这一步确保了每个融资情况类别都包含了相应的岗位数量和平均薪资,形成了便于可视化的数据框。

绘图部分的实现首先通过fig, ax1 = plt.subplots(figsize=(10, 6))创建一个新的图形和坐标轴,设置图形的大小以便于信息的清晰展示。然后,使用ax1.bar(combined_data['公司融资情况'], combined_data['岗位数量'], color='skyblue', label='岗位数量')绘制公司融资情况的岗位数量柱形图,其中X轴表示公司融资情况,Y轴表示岗位数量,柱子的颜色为天蓝色,便于视觉识别。

为了同时展示平均薪资,使用ax2 = ax1.twinx()创建一个共享同一X轴的第二个Y轴。然后,利用ax2.plot(combined_data['公司融资情况'], combined_data['平均薪资'], color='orange', marker='o', label='平均薪资')绘制公司平均薪资的折线图,设置独特的颜色和标记,以便于与柱形图区分。通过ax1.set_ylabel('岗位数量', color='skyblue')和ax2.set_ylabel('平均薪资', color='orange')设置两个Y轴的标签,确保用户可以明确理解两个数据系列的含义。最后,使用plt.title('公司融资情况岗位数量及公司平均薪资对比')为图表添加标题,并通过plt.tight_layout()调整布局,确保信息展示不重叠,最终使用plt.show()展示图形。这种组合图形有效地展示了不同融资情况对岗位数量和平均薪资的影响,为分析招聘市场的动态提供了重要的可视化支持。如下图。

6 总结与展望

6.1总结

基于Python的猎聘网招聘数据采集与可视化分析项目,充分展示了数据科学在现代招聘市场中的应用潜力。通过有效的数据采集手段,利用Requests库从猎聘网的API中提取大量的招聘信息,程序实现了自动化的数据收集,极大地提高了效率。在数据处理阶段,借助Pandas库对原始数据进行了清洗和分析,确保了数据的准确性和一致性。分析过程中,统计了岗位数量、薪资水平、公司规模和融资情况等因素,提供了对招聘市场的深入见解。

可视化方面,Matplotlib和Seaborn等库使得数据的展示更加直观和生动。通过饼图、柱形图和组合图等多种形式,项目成功展示了学历分布、工作经验要求、行业趋势以及公司融资情况对招聘市场的影响。这些结果不仅为求职者提供了丰富的信息,也为企业在制定招聘策略时提供了有力的数据支持。总体来说,该项目有效地将数据采集、处理和可视化结合在一起,展示了数据分析在招聘领域的实际应用价值。

6.2展望

展望未来,基于Python的猎聘网招聘数据采集与可视化分析项目可以进一步拓展多个方向。

可以考虑引入机器学习算法,对招聘市场数据进行更深入的分析与预测,例如利用历史数据预测未来的招聘趋势或薪资变动。这将有助于企业更好地规划招聘策略,优化人才配置。

增强数据采集的灵活性和全面性也是一个重要方向。未来可以考虑结合更多的数据源,例如其他招聘网站、社交媒体以及行业报告,从而获取更全面的招聘市场视角。此外,提升数据处理的自动化程度,利用定时任务和数据管道技术使数据更新更加实时化,将极大增强分析的时效性。

在可视化方面,可以探索更多交互式图表和仪表板的实现,例如使用Plotly或Dash等库,构建实时数据展示平台,使用户能够更方便地进行数据查询和分析。这些改进和扩展将增强项目的实用性和应用范围,为招聘市场的研究与分析提供更强有力的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java Springboot高校社团微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

springboot(20)(删除文章分类。获取、更新、删除文章详细)(Validation分组校验)

目录 一、删除文章分类功能。 &#xff08;1&#xff09;接口文档。 1、请求路径、请求参数。 2、请求参数。 3、响应数据。 &#xff08;2&#xff09;实现思路与代码书写。 1、controller层。 2、service接口业务层。 3、serviceImpl实现类。 4、mapper层。 5、后端接口测试。…

【前端】特殊案例分析深入理解 JavaScript 中的词法作用域

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;案例代码&#x1f4af;词法作用域&#xff08;Lexical Scope&#xff09;与静态作用域什么是词法作用域&#xff1f;代码执行的详细分析 &#x1f4af;函数定义与调用的…

Node.js 实战: 爬取百度新闻并序列化 - 完整教程

很多时候我们需要爬取一些公开的网页内容来做一些数据分析和统计。而多数时候&#xff0c;大家会用到python &#xff0c;因为实现起来很方便。但是其实Node.js 用来爬取网络内容&#xff0c;也是非常强大的。 今天我向大家介绍一下我自己写的一个百度新闻的爬虫&#xff0c;可…

三分钟快速掌握——Linux【vim】的使用及操作方法

一、vim的使用 vim是一个文本编辑器 非常小巧轻便 1.1如何进入vim编辑器 方法一&#xff1a; 首先使用touch 1.c 创建一个源文件 然后使用vim 1.c进入 方法二&#xff1a; 直接使用指令 vim 2.c 会直接创建一个2.c的源文件 退出时记得保存&#xff08;使用wq或者x&am…

(简单5步实现)部署本地AI大语言模型聊天系统:Chatbox AI + grok2.0大模型

摘要&#xff1a; 本文将指导您如何部署一个本地AI大语言模型聊天系统&#xff0c;使用Chatbox AI客户端应用和grok-beta大模型&#xff0c;以实现高效、智能的聊天体验。 引言&#xff1a; 由马斯克X-AI发布的Grok 2大模型以其卓越的性能超越了GPT4.0。Grok模型支持超长文本…

docker安装hadoop环境

一、使用docker搭建基础镜像 1、拉取centos系统镜像 # 我这里使用centos7为例子 docker pull centos:7 2、创建一个dockerfiler文件&#xff0c;用来构建自定义一个有ssh功能的centos镜像 # 基础镜像 FROM centos:7 # 作者 #MAINTAINER hadoop ADD Centos-7.repo /etc/yum.re…

中国电信张宝玉:城市数据基础设施建设运营探索与实践

11月28日&#xff0c;2024新型智慧城市发展创新大会在山东青岛召开&#xff0c;中国电信数字政府研究院院长张宝玉在大会发表主旨演讲《城市数据基础设施运营探索与实践》。报告内容包括城市数据基础设施的概述、各地典型做法及发展趋势建议三个方面展开。 篇幅限制&#xff0…

Linux内核4.14版本——ccf时钟子系统(6)——DTS相关的API

目录 1. of_clk_add_provider 2. of_clk_get_from_provider 2.1 __of_clk_get_hw_from_provider 2.2 __clk_create_clk 3. of_clk_set_defaults 3.1 __set_clk_parents 3.2 __set_clk_rates 再回到第2章DTS相关的介绍&#xff0c;clock driver使用一个DTS node描述一个c…

2024年度桌面便签软件电脑版推荐

随着2024年的尾声渐近&#xff0c;这一年中涌现出了许多优秀的软件&#xff0c;其中便签软件因其便捷性和高效性成为了备受欢迎的工具。这类软件无论是在工作还是日常生活中&#xff0c;都极大地提升了我们的效率和生活质量。 在众多桌面便签中&#xff0c;敬业签是一款值得推…

WPS for Mac免登录使用工具栏

一、mac下载国际版https://www.wps.com 下载下来是在线安装包&#xff0c;对了&#xff0c;不再需要汉化&#xff01;&#xff01;&#xff01; 二、干掉登录 进入目录/Applications/wpsoffice.app/Contents/Frameworks/office6&#xff08;访达、应用程序、wpsoffice.app右…

【计算机网络】实验3:集线器和交换器的区别及交换器的自学习算法

实验 3&#xff1a;集线器和交换器的区别及交换器的自学习算法 一、 实验目的 加深对集线器和交换器的区别的理解。 了解交换器的自学习算法。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、熟悉集线器和交换器的区别 (1) 第一步&#xff1a;构建网络…

【技巧】Mac上如何显示键盘和鼠标操作

在制作视频教程时&#xff0c;将键盘和鼠标的操作在屏幕上显示出来&#xff0c;会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话&#xff0c;可以从Github上下载最…

Docker:在 ubuntu 系统上生成和加载 Docker 镜像

本文将介绍在 ubuntu系统上进行 Docker 镜像的生成和加载方法和代码。 文章目录 一、下载和安装 docker二、加载 docker 文件三、保存你的镜像四、将镜像上传到云端并通过连接下载和加载 Docker 镜像五、Docker 容器和本地的文件交互5.1 从容器复制文件到本地宿主机5.1.1 单个文…

PHP爬虫性能优化:从多线程到连接池的实现

背景介绍 随着网络数据的爆炸式增长&#xff0c;爬虫技术成为数据获取的重要工具。从市场调研到用户行为分析&#xff0c;爬虫的应用无处不在。然而&#xff0c;在实际应用中&#xff0c;我们常常遇到爬虫性能不足的问题&#xff1a;单线程处理效率低下、请求超时、数据采集量…

《现代网络技术》读书笔记:网络虚拟化

本文部分内容来源于《现代网络技术&#xff1a;SDN,NFV,QoE、物联网和云计算&#xff1a;SDN,NFV,QoE,IoT,andcloud》 虚拟局域网 图9-1显示了一个比较常见的层次化局域网场景&#xff0c;在这个例子中&#xff0c;局域网中的设备分为四个部分&#xff0c;每个部分都通过以太网…

在c#控制台中使用Raylib-cs库,绘制控制小球和插入音频(附带c++中小球的控制代码)

下载网址 GitHub - chrisdill/raylib-cs: C# bindings for raylib, a simple and easy-to-use library to learn videogames programming 克隆库 克隆GitHub仓库-CSDN博客 1 .制作dll 点击 生成之后就会多出这些东西 2.在项目中添加dll 然后就导进来了 测试一下用例代码 …

「Mac畅玩鸿蒙与硬件40」UI互动应用篇17 - 照片墙布局

本篇将带你实现一个简单的照片墙布局应用&#xff0c;通过展示多张图片组成照片墙效果&#xff0c;用户可以点击图片查看其状态变化。 关键词 UI互动应用照片墙布局Grid 布局动态图片加载用户交互 一、功能说明 照片墙布局应用的特点&#xff1a; 动态加载多张图片组成网格布…

数字图像处理(12):灰度二值化

灰度像素&#xff1a;在 RGB 颜色模型下&#xff0c;图像中每个像素颜色的 R、G、B 三种基色的分量值相等的像素。由灰度像素组成的灰度图像只能表现256中颜色&#xff08;或亮度&#xff09;&#xff0c;通常把灰度图像中像素的亮度称为灰度值。灰度化处理&#xff1a;是指把彩…

华为新手机和支付宝碰一下 带来更便捷支付体验

支付正在变的更简单。 11月26日&#xff0c;华为新品发布会引起众多关注。发布会上&#xff0c;华为常务董事余承东专门提到&#xff0c;华为Mate 70和Mate X6折叠屏手机的“独门支付秘技”——“碰一下”&#xff0c;并且表示经过华为和支付宝的共同优化&#xff0c;使用“碰…