我已经构建了一个管道,用于将使用Scrapy创建的Items插入数据库(带有id)。但这些都是无序的。
在将所有各种元素合并到数据库之后,我会尝试对ID进行排序(在本例中为uid)。
这是我的管道:
class DBPipeline(object):
def __init__(self):
self.db = Base('test.pdl')
self.db.create('uid', 'type', 'author', 'title', mode="open")
def process_item(self, item, spider):
self.db.insert(
uid=item['uid'],
type=item['type'],
author=item['author'],
title=item['title'],
)
self.db.commit()
return item
问题
Web抓取过程中创建的项目非常多,因此Scrapy并不总是以有序的方式进行。