scrapy中的items是进行数据中的清洗

本文介绍了一个使用Scrapy框架的爬虫项目,重点在于处理职位薪资数据,通过自定义函数chage_salary计算最低和最高工资的平均值。文章详细展示了如何在ItemLoader中配置输入处理器MapCompose来应用该函数。

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

import scrapy

from scrapy.loader import ItemLoader

from scrapy.loader.processors import TakeFirst,MapCompose

注释:求最低工资和最高工资的平均值
def chage_salary(s_value):
注释:如果-不在s_value中就说明是工资面议
if “-” not in s_value:
return s_value
all_salary = s_value.split("-")
avg_salary = 0
if len(all_salary) == 2:
注释:这是做的工资的切片
avg_salary = (float(all_salary[0][:-1]) + float(all_salary[1][:-1]))/2
else:
注释:只有最低或者最高工资
all_salary = float(all_salary[0][:-1])

return "{}k".format(avg_salary)

class JobItemLoder(ItemLoader):
default_output_processor = TakeFirst()

class SimulatorspiderItem(scrapy.Item):
# define the fields for your item here like:
salary = scrapy.Field(
input_processor = MapCompose(chage_salary)
)
position = scrapy.Field()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值