본문 바로가기
코드리뷰/chatGPT(Python)코드

네이버 쇼핑 리뷰 크롤링

by 디마드 2024. 5. 6.

2024.05.06 - [코드리뷰/chatGPT(Python)코드] - 삼성 갤럭시북3 360 NT750QFT-A51A: 다재다능한 노트북의 새로운 기준

여러분은 어떤 기준으로 물건을 사는가? 제품 스펙, 가격, 내구성, 트랜드...그 기준은 다양하겠지만 내 기준에서는 사용자 리뷰를 제일 많이 참조한다. 아무리 괜찮은 스펙이더라도 사용해 본 사람들이 별로라고 하면 망설이게 된다. 나와 같은 사람들이 많다면 사용자 리뷰를 분석해 제품을 소개하면 잘 팔리지 않을까라는 생각을 해보았다. 

1. 네이버 쇼핑 리뷰 페이지 분석

사용자 리뷰는 제품 소개 거의 끝 부분에 있다. 동적인 페이지로 구성되어 페이지를 스크롤해서 내리거나 또는 끝페이지로 이동해야 리뷰정보가 나타난다. 

프로그램 구현할 때 이 부분이 핵심이다. 물리적으로 페이지를 이동시켜야 리뷰를 찾을 수 있다는 말이다. 

2. 파이썬 크롤링 구현하기

상품 페이지가 열리면, send_keys를 이용해 페이지의 끝으로 이동한다. sleep을 2~3초 정도 준다. 페이지 로딩 시간을 고려해야 한다. 이 부분도 랜덤함수를 이용해 다채롭게 설정할 수 있다. 봇 차단을 안 당하려면 고려해야 한다. 

driver.find_element(By.TAG_NAME, "body").send_keys(Keys.END)
time.sleep(2)

사용자 리뷰를 크롤링하려면, 

r_ul = driver.find_element(By.CSS_SELECTOR,"[class^=reviewItems_list_review]")
reviews = r_ul.find_elements(By.CSS_SELECTOR,"[class^=reviewItems_text]")
review_list = []
for rank, content in enumerate(reviews[:10], 1):
    print(f"NO.{rank}")
    print(f"{content.text}")
    print()
    review_list.append(f"NO.{rank} - {content.text}\n")

이렇게 출력된다. 

3. 사용자 리뷰를 파일로 저장한다. 

now = datetime.now()
file_name = now.strftime("%y%m%d_%H%M")
with open(f"review/{file_name}.txt", "w", encoding="utf-8") as f:
    f.writelines(review_list)

4. chatGPT로 리뷰를 작성한다. 

리뷰 전체를 보고 싶으면 아래 포스트를 참고하자. 

2024.05.06 - [코드리뷰/chatGPT(Python)코드] - 삼성 갤럭시북3 360 NT750QFT-A51A: 다재다능한 노트북의 새로운 기준

 

삼성 갤럭시북3 360 NT750QFT-A51A: 다재다능한 노트북의 새로운 기준

안녕하세요! 삼성 갤럭시북3 360 NT750QFT-A51A에 대한 제휴마케팅 포스트를 소개합니다.이번 리뷰를 통해 여러분께서 이 제품을 선택하실 때 고려해야 할 모든 정보를 전해드릴 것입니다.특별한 선

iamgus.tistory.com

 

반응형

댓글