Untitled

 avatar
unknown
plain_text
6 months ago
1.3 kB
4
Indexable
import sqlite3

class SQLitePipeline:
    def open_spider(self, spider):
        # Conecta ao banco de dados e cria a tabela, caso não exista
        self.conn = sqlite3.connect('proxies.db')
        self.cur = self.conn.cursor()
        self.cur.execute('''CREATE TABLE IF NOT EXISTS proxies(
                            ip_address TEXT PRIMARY KEY,
                            port NUMBER,
                            code TEXT,
                            country TEXT,
                            anonimity TEXT,
                            google TEXT,
                            https TEXT,
                            last_checked TEXT)''')
        self.conn.commit()

    def close_spider(self, spider):
        self.conn.close()

    def process_item(self, item, spider):
        # Insere os dados no banco de dados
        self.cur.execute('''INSERT OR IGNORE INTO proxies
                            (ip_address, port, code, country, anonimity, google, https, last_checked)
                            VALUES (?, ?, ?, ?, ?, ?, ?, ?)''',
                         (item.get('ip_address'), item.get('port'), item.get('code'),
                          item.get('country'), item.get('anonimity'), item.get('google'),
                          item.get('https'), item.get('last_checked')))
        self.conn.commit()
        return item
Editor is loading...
Leave a Comment