簡體   English   中英

使用python scrapy中的管道未在sqlite3中創建數據庫

[英]database not creating in sqlite3 using pipeline in python scrapy

有人可以幫助我我的所有代碼都在工作,但是當我打開 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM