学习爬虫异步插入,遇到问题
Unhandled error in Deferred:
2020-05-10 14:41:59 [twisted] CRITICAL: Unhandled error in Deferred:
...
builtins.TypeError: __init__() missing 1 required positional argument: 'dbpool'
发现是函数名写错, 应该是from_settings ,结果写成了from_setting,低级错误,记录一下
pipelines.py代码
以下为错误代码
@classmethod
def from_setting(cls, settings):
"""
数据库建立链接
这个函数名称是固定的,当爬虫启动的时候,scrapy会自动调用这些函数,加载配置数据。
:param settings: 配置参数
:return: 实例化参数
"""
adbparams = dict(
host=settings['MYSQL_HOST'],
db=settings['MYSQL_DBNAME'],
user=settings['MYSQL_USER'],
password=settings['MYSQL_PASSWD'],
port=settings['MYSQL_PORT'],
charset=settings['MYSQL_CHARSET'],
cursorclass=pymysql.cursors.DictCursor # 指定cursor类型
)
# 连接数据池ConnectionPool,使用pymysql或者Mysqldb连接
dbpool = adbapi.ConnectionPool('pymysql', **adbparams)
# 返回实例化参数
return cls(dbpool)