변수 self.cursor
에 액세스하여 활성 postgreSQL 연결을 사용하려고하지만 파이프 라인 클래스의 치료 인스턴스에 액세스하는 방법을 파악할 수 없습니다.액세스 파이프 라인 파이프 라인 클래스
class ScrapenewsPipeline(object):
def open_spider(self, spider):
self.connection = psycopg2.connect(
host= os.environ['HOST_NAME'],
user=os.environ['USERNAME'],
database=os.environ['DATABASE_NAME'],
password=os.environ['PASSWORD'])
self.cursor = self.connection.cursor()
self.connection.set_session(autocommit=True)
def close_spider(self, spider):
self.cursor.close()
self.connection.close()
def process_item(self, item, spider):
print ("Some Magic Happens Here")
def checkUrlExist(self, item):
print("I want to call this function from my spider to access the
self.cursor variable")
내가 yield item
를 사용하여 process_item
에 액세스 할 수 있습니다 실현,주의하지만 기능은 다른 물건을 내가 checkUrlExist
에서 self.cursor
를 통해 연결의 접근을 원하는에서 클래스의 인스턴스를 호출 할 수 제발 내 거미가 마음대로! 감사합니다.
'objectName.cursor'을 통해 액세스 할 수 있습니까? – RottenCandy
objectName은 저에게 알려지지 않았습니다. 거미가 자동으로 시작될 때 파이프 라인 클래스가 호출됩니다. 클래스의 해당 인스턴스에 인스턴스를 연결하려고합니다. :) – atb00ker
어쩌면 당신은'getattr'을 고려해야 할 것입니다 https://stackoverflow.com/questions/4075190/what-is-getattr-exactly-and-how-do-i-use-it#4076099 – RottenCandy