解析文档子节中的相关值时,创建嵌套加载器会很有用。想象一下,您从页面的页脚中提取详细信息,如下所示: 例: <footer> <a class=”social” href=”https://facebook.com/whatever”>Like Us</a> <a class=”social” href=”https://twitter.com/whatever”>Follow Us</a> <a class=”email” href=”mailto:whatever@example.com”>Email Us</a

classscrapy.loader.ItemLoader([item,selector,response,]** kwargs ) 返回一个新的Item Loader来填充给定的Item。如果没有给出项目,则使用该类自动实例化一个项目 default_item_class。 当使用选择器或响应参数进行实例化时,ItemLoader该类提供了使用选择器从网页中提取数据的便利机制。 参数: 项(Item对象) -项目实例来填充利用后续调用 add_xpath(),add_css()或add_value()。 selector(Selectorobject) – 使用add_xpath

声明项目加载器 通过使用类定义语法将Item Loaders声明为Items。这是一个例子: from scrapy.loader import ItemLoader from scrapy.loader.processors import TakeFirst, MapCompose, Join class ProductLoader(ItemLoader): default_output_processor = TakeFirst() name_in = MapCompose(unicode.title) name_out = Join() price_in = MapCompose(uni

Item Loader包含一个输入处理器和一个输出处理器,用于每个(item)字段。输入处理器只要它接收处理所提取的数据(通过add_xpath(),add_css()或 add_value()方法)和输入处理器的结果被收集和保持在ItemLoader内部。收集所有数据后,ItemLoader.load_item()调用该 方法来填充并获取填充的 Item对象。这是在使用先前收集的数据(并使用输入处理器处理)调用输出处理器时。输出处理器的结果是分配给项目的最终值。 让我们看一个例子来说明如何为特定字段调用输入和输出处理器(同样适用于任何其他字段): l = ItemLoader(Product

项目加载程序提供了一种方便的机制来填充已删除的项目。尽管可以使用他们自己的类字典API来填充项目,但是项目加载器通过自动执行一些常见任务(例如在分配原始提取数据之前解析原始提取数据),提供了一种更方便的API,用于从抓取过程中填充它们。 换句话说,Items提供了抓取数据的容器,而Item Loaders提供了填充该容器的机制。 项目加载器旨在提供灵活,高效和简单的机制,用于通过蜘蛛或源格式(HTML,XML等)扩展和覆盖不同的字段解析规则,而不会成为维护的噩梦。 使用项目加载器填充项目 要使用Item Loader,必须先实例化它。您可以使用类似dict的对象(例如Item或dict)实例化