네이버 쇼핑 크롤링: 검색 키워드 동적 처리 방법
안녕하세요.
이전 포스트 Selenium과 Scrapy를 이용해 네이버 쇼핑 크롤링하기에서 네이버 쇼핑몰에서 크롤링을 수행할 수 있는 방법을 간단히 소개해드렸습니다. 예상보다 많은 분들이 해당 글에 관심을 가져주셨고, 피드백을 통해 개선해야 할 점을 알게 되어 감사드립니다.
이번 포스트의 목표
이번 포스트에서는 검색 키워드를 코드 외부에서 명령어 인자로 받아, 크롤링 대상을 보다 유연하게 지정할 수 있도록 하는 방법을 소개하겠습니다. 이를 통해, 크롤링할 때마다 코드를 수정하지 않고도 원하는 키워드를 입력하여 네이버 쇼핑몰에서 데이터를 추출할 수 있습니다. 예를 들어, 아래와 같이 키워드를 명령어 인자로 전달할 수 있습니다:
$ scrapy crawl naver_shopping -o products.json -a keyword=에어컨
이 방법을 사용하면 코드 내에서 검색 키워드를 하드코딩하는 대신, 명령어 인자로 전달된 값을 사용하여 검색할 수 있습니다. 이는 코드 수정 없이 다양한 키워드를 테스트할 수 있게 해 주며, 코드의 유지보수성을 높여줍니다.
코드 수정 내용
아래는 코드에서 변경된 부분입니다:
def init(self, args, *kwargs):
super(NaverShoppingSpider, self).init(args, *kwargs)
self.keyword = kwargs.get('keyword')
...
search_input.send_keys(self.keyword)
search_input.send_keys(Keys.ENTER)
이전에는 검색 키워드가 코드 내에 하드코딩되어 있었지만, 이제는 keyword
인자를 통해 동적으로 전달받아 검색할 수 있게 되었습니다. 이렇게 하면 매번 코드를 수정할 필요 없이, 명령어 인자만으로 다양한 키워드에 대한 검색을 수행할 수 있습니다.
실행 예시
코드 변경 후, 다음과 같이 명령어에서 검색 키워드를 지정하여 크롤링을 실행할 수 있습니다:
$ scrapy crawl naver_shopping -o products.csv -a keyword=갤럭시
$ scrapy crawl naver_shopping -o products.csv -a keyword=테슬라
$ scrapy crawl naver_shopping -o products.csv -a keyword=책상
각 명령어에서 keyword
인자를 통해 다양한 키워드를 입력할 수 있으며, 이에 따라 크롤링 결과가 저장된 products.csv
파일에 다른 검색 결과가 저장됩니다.
마무리
이번 포스트에서는 검색 키워드를 동적으로 지정하는 방법을 소개했습니다. 이 방법은 코드를 보다 유연하고 확장 가능하게 만들어 줍니다. 추후에는 더 많은 기능을 추가해 네이버 쇼핑 크롤링 프로젝트를 확장할 예정이니, 많은 관심 부탁드립니다.
최종 결과물은 GitHub 저장소에서 확인할 수 있습니다. 프로젝트에 대한 의견이나 개선 사항이 있다면 언제든지 피드백을 주시면 감사하겠습니다.
'Develop' 카테고리의 다른 글
PyCharm: Python 개발의 첫걸음을 편안하게 시작하는 방법 (0) | 2024.08.28 |
---|---|
Framer로 포트폴리오 제작하기: 간편하게 전문가 같은 웹사이트를 만들어보세요 (0) | 2024.08.26 |
aitestkitchen 과 FLUX.1-schnell로 이미지 만들기: 어디가 더 좋을까? (0) | 2024.08.20 |
Ollama 가이드: 로컬 AI 모델 실행의 새로운 지평 (0) | 2024.08.07 |
작은 개인 프로젝트도 JIRA로 관리하기: 일상의 효율성 높이기 (0) | 2024.08.06 |