Python爬取的BOSS直聘的数据

本文分析了计算机视觉领域的招聘趋势,揭示了深度学习、机器学习等技能的重要性,展示了薪资及经验要求分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

临近年末,“互联网寒冬”的来临让大家倍感压力,大家纷纷感叹寒冬将至。但是,越是这个时候,越要明确自己的奋斗目标,不断的充实自己,提高自己的能力,为找工作打下坚实的基础。

本次我们爬取了招聘网站上关于计算机视觉方向的招聘信息,并对于招聘信息进行分析,看一下目前计算机视觉方向对于应聘者的需求如何。

首先招聘信息的爬取采用的是selenium 库,对boss 直聘招聘网站进行爬取,因为网站对于反爬的验证码比较复杂,即便是利用tesserocr 来对这种验证码识别的也很难将其识别准确,因此直接采用selenium库,对于网页信息进行爬取。对于验证码仍需要人工来进行识别并进行操作。但是由于爬取的过程中,对网页进行了模拟浏览过程,因此几乎不会产生反爬环节。

 

对于招聘信息的提取首先是打开我们所要查询的招聘方向的链接,这里我们查询的是计算机视觉方向(自己更改所需即可),然后针对每一页上的每一个招聘链接,在新的网页进行打开,然后爬取其网页信息。整体的运行效果图如下动图所示。

 

对于每一个招聘链接,利用BeautifulSoup进行网页信息的提取,并将其保存到csv文件当中,具体代码如下图所示。

完整代码获取见文末 

这里我们爬取了招聘信息中,对于应聘者的学历、经验的要求,以及招聘者提出的工作要求和薪金待遇以及工作地点。将爬取后的信息保存为csv文件放到根文件夹下,至此爬取招聘信息的工作便完成。爬取的信息如下如所示。

首先,我们想观察一下目前招聘者对于应聘者的工作要求,因此为了更加直观的展示工作要求,我们采用词云的形式,对于工作要求中的关键词进行展示。

采用词云的优势在于:第一,展示起来比较美观,第二是出现频率越高的关键词,其字体也越大,因此更能直观的进行展示。

对于爬取得到的信息,利用pandas进行读取,然后将“工作要求”一项进行提取后,采用jieba进行分析,并结合WordCloud库进行展示,得到的结果如下如所示。

 

由词云我们可以看出,目前计算机视觉领域深度学习技术是最杯招聘者所看重的一项技能,因此它的出现频率也是最高的。其次对于机器学习、图像处理技术也要进行掌握,并能达到熟练掌握的程度。如果有小伙伴想要进军计算机视觉领域的话,那么上述的词云所体现的信息,将会对你有很大的帮助,在处理完“工作需求之后”,我们还对大家普遍关心的“工资”水平和“经验”要求进行了分析。

由于招聘者对于工资都是提供一个大概的范围,因此,这里我们采取招聘者提供的平均工资来作为我们的“工资”数据,根据平均工资的最大值跟最小值将工资分为五类,可视化数据如下图所示。

 

 

由工资图可以看出,目前计算机视觉领域的工资水平大都集中在20K到30K之间,还是一个相当不错的工资水平。

对于经验的分析,我们也进行了分析,如下图所示。

 

 

由上图可以看出,招聘者对于应聘者的经验还是十分看重的,因此如果小伙伴是在校生的话,还是抓住机会出去实习,增长自己的经验吧。

完整代码和爬取结果 csv 文件,在后台回复关键词 boss 即可

扫码回复“boss????

### 使用Python编写合法合规的爬虫程序 #### 确定目标与准备环境 为了确保开发过程顺利,在开始之前需明确要抓取的具体信息,比如职位名称、公司简介等。同时准备好必要的软件包,如`requests`用于发送HTTP请求;`lxml`或`BeautifulSoup`负责HTML解析工作。 ```bash pip install requests lxml beautifulsoup4 ``` 考虑到部分网页内容可能是通过JavaScript动态加载而来,可能还需要借助像Selenium这样的自动化测试工具来模拟真实用户的浏览操作[^1]。 #### 遵守Robots协议 任何一次有效的网络爬行都应始于对目标站点`robots.txt`文件的学习——它规定了哪些路径允许访问而哪些则被禁止。对于Boss而言,其官方文档或是网站底部通常会提供相应的指引说明,请务必仔细阅读并严格遵守这些条款。 #### 编写基础版本的爬虫代码 下面给出一段基于上述提到的技术栈编写的简单示例代码: ```python import requests from bs4 import BeautifulSoup def fetch_job_listings(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, "html.parser") jobs = [] for job_item in soup.select('.job-primary'): title = job_item.find('div', class_='info-primary').h3.a.string.strip() link = f"https://www.zhipin.com{job_item.find('a')['href']}" jobs.append({ 'title': title, 'link': link }) return jobs if __name__ == '__main__': url = 'https://www.zhipin.com/c101280600-p100109/' listings = fetch_job_listings(url) for listing in listings[:5]: print(f"{listing['title']} -> {listing['link']}") ``` 这段代码实现了基本的功能需求,即从指定URL处获取前几条招启事及其详情页链接。需要注意的是实际部署时还需考虑异常处理机制以及更复杂的反爬策略等问题[^2]。 #### 进一步优化与扩展功能 当初步完成之后可以继续探索更多高级特性,例如利用Scrapy框架提高效率和支持分布式运行;或者引入数据库支持长期跟踪特定类型的岗位变化趋势等等[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值