scrapy------ ItemLoader(抓取工具包)

from scrapy.contrib.loader import ItemLoader---------工具类(ItemLoader)----用于规范化爬取数据

以下是一个典型的ItemLoader的用法

I = ItemLoader(item=ItemLoader,response=response)

I.add_xpath(字段名,xpath表达式)

I.add_css(字段名,css表达式)

I.add_value(字段名,固定值)

 ............

return I.load_item()

注意:1    l.add_xpath('name', '//div[@class="product_name"]')
                 l.add_xpath('name', '//div[@class="product_title"]')

                 ItemLoader支持同一个字段从不同xpath位置提取,之后分配给item中对应的字段。

一些结合数据,数据格式化,数据清洗的方式:---处理器

from scrapy.loader.processors import Mapcompose,join

Join():把多个结果链接在一起

mapcompose()---引入Python中的一些函数。

Mapcompose(unicode.strip)---删除首尾的空白符

    Mapcompose(unicode.strip,unicode.title)---删除首尾的空白符,且是结果按照标题格式

    Mapcompose(float)-----把字符串转化为数值

    Mapcompose(lambda i:i.replace(',',' '),float)----把字符串转化为数值,且忽略可能存在的‘,’字符。即对内容进行更改。

    Mapcompose(lambda i:urlparse.urljoin(response.url,i)):---将url相对路径转化为绝对路径。

完整表达式:

i.add_xpath(字段名,xpath方法,处理器)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值