Scrapy는 파이썬으로 작성된 웹 크롤링 및 스크래핑 프레임워크입니다. 이 강력한 도구를 사용하여 웹페이지에서 데이터를 추출하기 위해 크롤러를 작성할 수 있습니다. Scrapy의 중요한 부분 중 하나는 스파이더 인자를 사용하는 것입니다.
스파이더 인자는 크롤러가 어떤 웹페이지를 스크랩해야 하는지를 지정하는 데 사용됩니다. 즉, 스파이더에 대한 입력 매개변수로 사용됩니다. 다양한 방법으로 스파이더 인자를 설정할 수 있습니다. 아래는 몇 가지 예시입니다.
명령행 인자
가장 일반적인 방법으로 스파이더 인자를 설정하는 것은 명령행 인자를 사용하는 것입니다. Scrapy를 실행할 때 명령행에서 추가적인 인자를 전달할 수 있습니다. 예를 들어, 다음과 같이 스파이더 인자를 설정할 수 있습니다:
scrapy crawl myspider -a category=electronics -a max_results=100
위의 예시에서 “category”와 “max_results”는 스파이더 인자의 이름이며, “electronics”와 “100”은 해당 인자의 값입니다. 크롤러 코드에서 이러한 인자를 사용하여 원하는 방식으로 데이터를 스크래핑할 수 있습니다.
설정 파일 설정
Scrapy는 설정 파일을 사용하여 스파이더 인자를 설정할 수도 있습니다. “settings.py” 파일에서 “SPIDER_ARGUMENTS” 변수를 설정하여 스파이더 인자를 지정할 수 있습니다. 예를 들어:
SPIDER_ARGUMENTS = {
'category': 'electronics',
'max_results': 100
}
위의 예시에서 ‘category’와 ‘max_results’는 스파이더 인자의 이름이며, ‘electronics’와 100은 해당 인자의 값입니다. 스파이더 코드에서는 self.crawler.settings.get('SPIDER_ARGUMENTS')
를 사용하여 이러한 인자에 접근할 수 있습니다.
환경 변수 설정
또 다른 방법으로는 환경 변수를 사용하여 스파이더 인자를 설정하는 것입니다. 예를 들어, 다음과 같이 환경 변수를 설정할 수 있습니다:
export CATEGORY=electronics
export MAX_RESULTS=100
환경 변수를 설정한 후, 스파이더 코드에서는 os.environ
을 사용하여 해당 변수에 접근할 수 있습니다.
이와 같이 Scrapy에서는 여러 가지 방법으로 스파이더 인자를 설정할 수 있습니다. 이를 활용하여 크롤러를 더 유연하고 동적으로 만들 수 있습니다.