你发布的代码对我来说不起作用:
TypeError: __init__() takes exactly 2 arguments (1 given)
这是因为该
__init__方法需要一个
table_name未传递的参数。你需要
from_crawler在管道对象中实现class方法,例如:
@classmethoddef from_crawler(cls, crawler): return cls(table_name=crawler.spider.name)
这将使用蜘蛛网名称作为表名创建管道对象,当然你可以使用任何所需的名称。
另外,该行
self.table = db[table_name].table应替换为
self.table = db[table_name]



