Python爬虫实战:拉勾网与Boss直聘工作年限数据清洗及图片筛选示例
本文详解如何利用Python爬虫技术处理招聘数据。重点讲解如何校正拉勾网与Boss直聘的工作年限描述差异,建立统一的等级标准,并建议舍弃“经验不限”数据以保证统计准确性。同时提供基于PIL库的图片批量筛选代码实例,帮助开发者提升数据处理效率。
基于工作经验的招聘数据分级策略
在选购商品前,我们通常会先收集相关信息,再结合个人需求做出决定。求职过程亦如此,评估岗位匹配度的核心环节之一,便是核对自身工作经验是否符合要求。面对海量招聘信息,如何利用Python爬虫技术高效筛选并处理这些数据?接下来将深入探讨具体实现方案。
根据工作经验年限划分招聘等级
拉勾网与Boss直聘工作年限数据校正代码
# 校正拉勾网工作年限描述,以 Boss直聘描述为准
def update_lagou_workyear():
items = db.jobs_lagou_php.find({})
for item in items:
if item['workYear'] == '应届毕业生':
item['workYear'] = '应届生'
elif item['workYear'] == '1年以下':
item['workYear'] = '1年以内'
elif item['workYear'] == '不限':
item['workYear'] = '经验不限'
update_lagou(item)
print('ok')
# 设置招聘的水平,分两次执行
def set_level():
items = db.jobs_zhipin_php.find({})
# items = db.jobs_lagou_php.find({})
if item['workYear'] == '应届生':
item['level'] = 1
elif item['workYear'] == '1年以内':
item['level'] = 2
elif item['workYear'] == '1-3年':
item['level'] = 3
elif item['workYear'] == '3-5年':
item['level'] = 4
elif item['workYear'] == '5-10年':
item['level'] = 5
elif item['workYear'] == '10年以上':
item['level'] = 6
elif item['workYear'] == '经验不限':
item['level'] = 10
update(item)
print('ok')
这里存在一个需要注意的细节:通常标注“经验不限”的岗位,其具体要求往往隐含在任职要求中。为了确保统计数据的准确性和可比性,这类“经验不限”的数据在后续分析中将被剔除。
从后续的平均数据分析来看,“经验不限”往往隐含要求1至3年左右的工作经验,但为了保持数据的一致性,仍建议直接舍弃这部分数据。
拉勾网的职位描述格式与Boss直聘存在差异,因此在处理数据时,需要先进行校正,使其符合统一标准,然后再设置相应的等级。
实例扩展:
Python实现图片筛选程序
Python批量筛选图片代码示例
#_*_coding:utf-8_*_
'''
Version V17.1.0
Date 2017-10-15
@Author Cheney
'''
# 收集EL 图片集中需要的图片,在elpick目录下进行
from PIL import Image
import csv
import os
# 获取需要图片的文件名
def readImageName():
# 在elpick目录下读取sn.scv文件,该文件读取出来后元素是list 需要转换为str
get_csv = csv.reader(open("elpick/sn.csv"))
origSN = []
transSN = []
for sn in get_csv:
origSN.append(sn)
tempList = origSN
# 读取csv文件获时获取到的列表,其元素也是列表,需要将其转换为字符串元素,使用下面for语句实现
for s in tempList:
# 去掉列表元素中的[''] 这几个字符
s = str(s).strip('[\'')
s = str(s).strip('\']')
transSN.append(s)
ImageName = transSN
return ImageName
pickImageName = readImageName()
# 遍历所有图片集的文件名
for image in os.listdir("elpick/original_el"):
# 将读取到的文件名进行处理,去扩展名,若是int文件名需要对文件名进行int 处理
imageName = image.strip(".jpg")
# 比较判断 若遍历的文件名在需要收集的列表中,读取之后并保存到pick_el文件夹下
if imageName in pickImageName:
pickImage = Image.open(('elpick/original_el/%s.jpg') % imageName)
pickImage.save(("elpick/picked_el/%s.jpg") % imageName)
至此,关于Python爬虫筛选工作的实例讲解完毕。如需了解更多Python爬虫相关内容,可搜索本站历史文章或继续阅读后续系列。感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













