- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Scrapy 和 Python 还很陌生。
我能够使用 SSH 凭据连接到我的远程数据库对,但是...
希望防止在每个被抓取的项目上发生此错误。
Error: 2055: Lost connection to MySQL server at '127.0.0.1:3306', system error: 10053 An established connection was aborted by the software in your host machine
下面是我的 MySQL 管道对象
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函数内维护数据库连接
最佳答案
您正在使用 with ...
这就是您出现此行为的原因 SSH tunnel from Python is closing automatically
关于Python Scrapy 在每个 process_item 上维护 SSH MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52003829/
我正在开发一个 scrapy 蜘蛛,它成功地产生了一些元素。这些项目应该使用 pymysql 插入到数据库中。因为数据是相关的,所以我必须为每个项目执行一些插入语句。我想在每次完整插入后调用 conn
我有一个非常简单的代码,如下所示。抓取没问题,我可以看到所有生成正确数据的 print 语句。在 Pipeline 中,初始化工作正常。但是,process_item 函数不会被调用,因为函数开头的
我对 Scrapy 和 Python 还很陌生。 我能够使用 SSH 凭据连接到我的远程数据库对,但是... 希望防止在每个被抓取的项目上发生此错误。 Error: 2055: Lost connec
我是一名优秀的程序员,十分优秀!