0
이 scrapy에 SQLAlchemy의 사용 "나가서 설명하자면 NameError 이름을 '연결'정의되지 않은"NameError
, 다음과 같은 오류 메시지가 있습니다Scrapy가 : scrapy에 SQLAlchemy의를 사용하여이 :
Traceback (most recent call last):
File "e:\weibo_spider\venv\lib\site-packages\twisted\internet\defer.py", line 1386, in _inlineCallbacks
result = g.send(result)
File "e:\weibo_spider\venv\lib\site-packages\scrapy\crawler.py", line 79, in crawl
yield self.engine.open_spider(self.spider, start_requests)
NameError: name 'connection' is not defined
을 그리고 내 Scrapy
Pipeline
클래스
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from .models import MyModel # my sqlalchemy model
class WeiboSpiderPipeline(object):
def open_spider(self, spider):
# using pymysql as the conncetor
engine = create_engine('mysql+pymysql://[email protected]/wbspider_data')
Session = sessionmaker(bind=engine)
self.conn = engine.connect()
self.session = Session(bind=connection)
def close_spider(self, spider):
self.conn.close()
def process_item(self, item, spider):
return item
내가 명령 줄에서 모델을 테스트, 그것은 작동 할 수 있지만, 나는 scrapy crawl myspidername
명령을 실행 한 후에는 NameError
을 발생합니다.
도움말!
어떻게하면 연결을 닫을 수 있습니까? –
좋습니다. 작동합니다. 그리고, 그냥'engine.close()'를 호출 할 수 있습니까? 아니면,'session.close()'와'engine.close()'를 호출해야합니까? –
답변을 업데이트했습니다. 다시 확인하십시오. –