0
SQLAlchemy in scrapy Verwendung hat NameError
, die Fehlermeldung wie folgt:Scrapy: SQLAlchemy in scrapy Verwendung hat "Nameerror: name 'Verbindung' nicht definiert ist"
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
Und hier ist meine Scrapy
Pipeline
Klasse:
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
ich das Modell in der Befehlszeile zu testen, kann es funktionieren, aber es die NameError
auftritt, nachdem ich den scrapy crawl myspidername
Befehl ausführen.
Hilfe!
Wie kann ich die Verbindung schließen, wenn dies so aussieht? –
Ok, es funktioniert. Und, kann ich einfach 'engine.close()' nennen? Oder muss ich 'session.close()' und dann 'engine.close()' aufrufen? –
Ich habe die Antwort aktualisiert, bitte schauen Sie es sich noch einmal an. –