저는 Scrapy를 처음 사용하고 다음을 시도하고 있습니다. 웹 페이지에서 일부 값을 추출하여 변수에 저장하고 주 스크립트에서 사용합니다. 그러므로 나는 그들의 튜토리얼을 따라 내 목적을 위해 코드를 변경 : 이것은 지금까지 일하는 것이Scrapy store가 주 스크립트에서 사용할 변수를 반환했습니다.
import scrapy
from scrapy.crawler import CrawlerProcess
class QuotesSpider(scrapy.Spider):
name = "quotes"
start_urls = [
'http://quotes.toscrape.com/page/1/'
]
custom_settings = {
'LOG_ENABLED': 'False',
}
def parse(self, response):
global title # This would work, but there should be a better way
title = response.css('title::text').extract_first()
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
})
process.crawl(QuotesSpider)
process.start() # the script will block here until the crawling is finished
print(title) # Verify if it works and do some other actions later on...
,하지만 난 그게 좋은 스타일이 아니거나 심지어 내가 제목을 정의하면 나쁜 부작용이 확신 글로벌 변수. 그 행을 건너 뛰면 물론 "정의되지 않은 변수"오류가 발생합니다./ 따라서 변수를 반환하고 내 주 스크립트에서 사용하는 방법을 찾고 있습니다.
항목 파이프 라인에 대해 읽었지만 제대로 작동하지 못했습니다.
도움말/아이디어는 크게 감사드립니다. 미리 감사드립니다!
를보다 효율적으로 사용하는'global'을 - 쉽게 될 것입니다. 파이프 라인이 도움이되지 않습니다. – furas