Я все еще новичок в Scrapy и Python.
Мне удалось подключиться к удаленной паре БД с учетными данными SSH, но ...
хотел бы предотвратить возникновение этой ошибки на каждом очищаемом элементе.
Ошибка: 2055: Потерянное соединение с сервером MySQL по адресу «127.0.0.1:3306», системная ошибка: 10053 Установленное соединение было прервано программным обеспечением на вашем хост-компьютере
Ниже мой MySQL Pipeline Object
import mysql.connector
import sshtunnel
class MySQLStorePipeline(object):
def __init__(self):
with sshtunnel.SSHTunnelForwarder(
('13.***.***.***', 22),
ssh_username='***',
ssh_password='***',
remote_bind_address=('db1.prod.***.***.net.***', 3306),
local_bind_address=('127.0.0.1', 3306)
) as tunnel:
self.dbcon = mysql.connector.connect(
host='127.0.0.1',
port=3306,
user='***',
database='***',
password='***',
charset='utf8'
)
self.cursor = self.dbcon.cursor()
def process_item(self, item, spider):
try:
tables = self.cursor.execute('SHOW TABLES')
print tables.fetchall()
self.dbcon.commit()
except mysql.connector.Error as err:
print('Error: {}'.format(err))
return item
Я просто не знаю, как поддерживать соединение с базой данных внутри process_item function