gpt4 book ai didi

python - 数据库未在 python scrapy 中使用管道在 sqlite3 中创建

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:50 25 4
gpt4 key购买 nike

有人可以帮助我,我的所有代码都在工作,但是当我打开 mytask.db 文件时,数据库文件中没有插入/更新任何内容,请告诉我数据库未更新的原因,我正在 https://sqliteonline.com/ 中打开数据库,请帮忙

import sqlite3

class TaskPipeline(object):

def __init__(self):
self.create_connection()
self.create_table()

def create_connection(self):
self.conn = sqlite3.connect("mytask.db")
self.curr = self.conn.cursor()

def create_table(self):
self.curr.execute("""DROP TABLE IF EXISTS cr_tb""")
self.curr.execute("""create table tk_tb(
title text,
tag text
)""")

def process_item(self, item, spider):
self.store_db(item)
return item

def store_db(self, item):
self.curr.execute("""insert into tk_tb values (?,?)""", (
item['title'][0],
item['tag'][0]
))
self.conn.commit()

最佳答案

这是items.py

import scrapy



class TaskItem(scrapy.Item):

title = scrapy.Field()
link = scrapy.Field()

这是主文件task.py

import scrapy
from ..items import TaskItem


class taskSpider(scrapy.Spider):


name = 'task'


start_urls = ['https://dmoz-odp.org/Sports/Events/']


def parse(self, response):
items = TaskItem()
div_items = '.alt-sites a'

for i in response.css(div_items):
title = i.css('::text').extract_first()
link = i.css('::attr(href)').extract_first()

items['title'] = title
items['link'] = link

yield items

关于python - 数据库未在 python scrapy 中使用管道在 sqlite3 中创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60380092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com