본문 바로가기

Coding Study/Python

파이썬 웹크롤링 - 네이버 쇼핑 BEST 100 상품명 크롤링하기

728x90
반응형

오늘은 네이버 쇼핑 > 베스트 100 카테고리 중 패션의류, 패션잡화의 베스트 100 리스트의 상품명 100개를 크롤링해 보도록 하겠습니다. 파이썬을 공부하면서 느끼는 부분은 소스 코드가 참 간결하다. 하지만 파이썬은 쉽다고 말하는 부분은 개인적으로는 동의하기 어려운 부분입니다. 

 

코딩에 대한 기본 문법과 객체지향을 이해하고 접근하기에 쉽다고 느낄 부분이지 초보자가 문법과 객체지향을 이해하기에는 결코 쉬운 언어는 아니라고 생각합니다. 아무튼 오늘은 두개의 URL를 한꺼번에 리스트에 담아서 크롤링하는 방법에 대해 메모해 두도록 하겠습니다.

 

import requests
from bs4 import BeautifulSoup



# 네이버 쇼핑의 두개 카테고리 주소를 리스트에 담는다
site_link = ['https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000000', 
'https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000001']

for site in site_link:
    res = requests.get(site)
    soup = BeautifulSoup(res.content, 'html.parser')
    data = soup.select('#productListArea > ul > li > p > a')

    # 크롬 브라우져 개발자 모드에 접속하여 상품명을 클릭한다
    # 상품명 태그를 우측 마우스를 클릭하여 Copy Selector를 선택한다
    # '#productListArea > ul > li:nth-child(4) > p > a' 태그에서 [ :nth-child(4) ] 부분을 삭제한다
    
    print(site)
    # 네이버 쇼핑의 카테고리 주소를 출력한다
    print(data)
    # css select 로 크롤링한 값을 data 에 저장한 값을 출력시켜 보면 아래와 같이 값이 출력된다
    
    for item in data:
        print(item.get_text())
    
    # data 변수에 저장되어 있는 상품명이 들어있는 태그값을 item 변수에 하나씩 꺼내서 출력한다
    # get_text() 정의 : 현재 문서에서 모든 태그를 제거하고 텍스만 들어있는 문자열을 반환한다

※ 결과값

# print(site) 의 결과

https://search.shopping.naver.com/best100v2/detail.nhn?catId=50000000

# print(data) 의 결과

[https://cr2.shopping.naver.com/adcr.nhn?x=p5lVYZ202oJf2BZOGIekdP%2F%2F%2Fw%3D%3DsekineB3WVXRlCvtAF0l5InWswAJVANHCdp3X17ShjeNRUFwa4F7W7zv5lvis3jV3yS8eUS7coFs%2FlXaYwpsbn%2FDNLvtWIibnXaDADDhSWPYLbf3uw2WvwLjPdcCN%2BfVe4ZJ1yhgbIwyc0Vzw8hlsYMt31Fyt68lal37inYyponkqjgjWudOcde%2FjNwY9lsSnDL4CsvtU9qt4nMDAnyeuvxFVUxibDy28gx3IJI9uGPVPBW8n9EUYV2StTqqB2obm3Tg2Ry0vHLJhIAih9EB8%2BoLIaHrl4IE1YXfYsjwXrI7DY271zd1sYmrtIel2dncsYxih2DNfD0LBjjio473ALFV6TlkXh9bN8lK8DE7n5K8pzOlCzwFxqBmRzQmTW5crXimR9J9V8MKD0TxAqaKRfIrCXU3vtHZUX9gV%2BcIenHAVB%2Fd9YwyIjbPFvZKa9eyhXV362y5kC3KVYT2tsxvy0%2FMBtdVNHkqkyHJ0GUaiffXk3kMwurDyUyzDUvOTjEeiN7dxvejFu9%2FlkbXczEa3C68XheXhUpug%2BLcKlgINQkyQE4BjYtWocw9cWTmsskr2p3K2jzxIwYJ1avz0f72e51X%2BBM%2Fif8YKgNnlgf7gBeIEMZovoFzspzOn7X4poh%2BXN1%2BSR0cQde5HUknktbgjpw%3D%3D" target="_blank" title="지오다노 여 크루넥 경량 다운 자켓 379905">지오다노 여 크루넥 경량 다운 자켓 379905</a>

# print(item.get_text()) 의 결과

지오다노 크루넥 경량 패딩조끼 379903 
지오다노 여 크루넥 경량 다운 자켓 379905
트리플에이 무지티 반팔티 무지 반팔티셔츠...
지오다노 여 패딩 숏 푸파 379921

 

- 이하 생략 -

 

 

728x90
반응형