我有不同的蜘蛛可以抓取相似的值,我想將抓取的值存盤在不同的 slite3 表中。我可以通過為每個蜘蛛使用不同的管道來做到這一點,但是,由于唯一改變的是表名,是否有可能以某種方式將表名從蜘蛛傳遞到管道?這是我用來創建表的代碼:
def open_spider(self, spider):
self.connection = sqlite3.connect("database.db")
self.c = self.connection.cursor()
try:
self.c.execute('''
CREATE TABLE IF NOT EXISTS table_name(
value1 TEXT,
value2 TEXT,
value3 TEXT
)
''')
self.connection.commit()
uj5u.com熱心網友回復:
是的,像這樣?
def open_spider(self, spider):
self.connection = sqlite3.connect("database.db")
self.c = self.connection.cursor()
querystring = f"
CREATE TABLE IF NOT EXISTS {spider.name} (
value1 TEXT,
value2 TEXT,
value3 TEXT
)
"
try:
self.c.execute(querystring)
self.connection.commit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/422604.html
標籤:
上一篇:SQLite中行的不同計算
下一篇:改進大型時間序列資料集的查詢分組
