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

웹 크롤링 실전 - 쿠팡 상세 페이지 정보 가져오기

by 디마드 2024. 3. 29.

지난 쿠팡 상품 리스트 추출에 이어 상세 페이지 정보도 한꺼번에 출력해 보자. 

2024.03.28 - [코드리뷰/chatGPT(Python)코드] - 웹 크롤링 실전 - 쿠팡 상품 정보 가져오기

 

웹 크롤링 실전 - 쿠팡 상품 정보 가져오기

본견적으로 쿠팡 상품 정보를 수집해 보자. 1. 키워드 검색 keyword = input("KEYWORD : ") url = f"https://www.coupang.com/np/search?component=&q={keyword}" 2. 쿠팡 검색 결과 화면 분석하기 크롤링 결과를 잘 활용하기

iamgus.tistory.com

1. 쿠팡 상품 페이지 리스트 정의하기

상세 페이지 url을 담을 리스트 정의 하고 담기

link_list = []
for rank, item in enumerate(items[:10],1):
    name = item.select_one(".name")
    price = item.select_one(".price-value")
    link = f"https://www.coupang.com{item.a['href']}"
    image = item.select_one(".search-product-wrap-img")
       
    print(name.text.strip())    
    if price :
        print(f"{price.text} 원")
    print(link)
    link_list.append(link)

리스트에  append 메소드 이용해 링크를 담는다. 

2. 상세 페이지 분석하기

개발자 도구를 열어 상품명에 해당하는 클래스를 찾는다.

상품명 클래스 찾기

3. 상세 페이지 추출 코드 추가

for link in link_list:
    # print(link)    
    url = link
    res = requests.get(url, headers=headers, timeout=5)
    html = res.text
    soup = BeautifulSoup(html,"html.parser")
   
    title = soup.select_one(".prod-buy-header__title")
    # print(title.text.strip())
    print(title.get_text(strip=True, separator=" "))
    print()

상품 페이지를 담은 리스트를 for문을 통해 하나씩 가져온다. 상품명 클래스를 불러와 출력한다. 이때 주의할 점은 불필요한 공백을 없애줘야 한다. strip()을 이용하면 대부분 해결은 된다. 하지만 텍스트와 태그가 혼합된 경우 다음과 같은 코드를 넣어줘야 한다. 

title.get_text(strip=True, separator=" ")

 

4. 출력 결과 확인

레노버 2024 아이디어패드 슬림 5 14AHP9 라이젠7 라이젠 8000 시리즈

레노버 2024 아이디어패드 슬림 5 14AHP9 라이젠7 라이젠 8000 시리즈

레노버 2022 아이디어패드 슬림 1 15AMN7 15.6 라이젠3 라이젠 7000 시리즈

LG전자 2021 울트라 PC 14 셀러론

HP 2023 노트북 15 라이젠5 라이젠 7000 시리즈

에이수스 Vivobook Go 15 라이젠5 라이젠 7000 시리즈 쿨 실버 · 256GB · 16GB · Free DOS · E1504FA-BQ494

레노버 2023 아이디어패드 슬림 3 15IAH8 코어i5 인텔 12세대

HP 2023 노트북 15 코어i5 인텔 13세대

LG 울트라PC 15U560 6세대 i5 HD520 15.6인치 윈도우10 15U560 · WIN10 · 8GB · 628GB · 코어i5 · 화이트

베이직스 2022 베이직북 14 3세대 셀러론

반응형

댓글