개발/코뮤니티

[파이썬 크롤링] 9일차 : G마켓 크롤링

Hyunsun 2022. 2. 17. 04:38
728x90

코뮤니티 모각코 파이썬 크롤링 출석 인증 9일차

 

✅ 오늘의 문제 : G마켓 크롤링

 

오늘 실습을 통해 검색어에 맞는 상품을 크롤링 해 보았죠!

이번 과제는, 정렬 방식에 따라 크롤링하는 것 입니다.😮

저번 시간의 문제를 풀면서, 정렬 방식에 따른 URL 패턴은 확인하셨을 거예요!

이 URL패턴을 사용해 크롤링을 진행해 주세요.

 

👉 결과 예시

 

⭐ 힌트 ⭐

  • 이차원 리스트를 사용하면 각각의 정렬 방식과, 그에 맞는 URL 값을 하나로 묶을 수 있어요.

 

코드

import requests
import bs4

s_list = [
    ['< G마켓 랭크 순 >', '&s=7'],
    ['< 판매 인기 순 >', '&s=8'],
    ['< 낮은 가격 순 >', '&s=1'],
    ['< 높은 가격 순 >', '&s=2'],
    ['< 상품평 많은 순 >', '&s=13'],
    ['< 신규 상품 순 >', '&s=3']
]

while True:
    keyword = input('검색을 원하는 키워드를 입력하세요. ( 0을 입력하면 종료 ): ')
    if keyword == '0':
        break

    # 기존 : G마켓의 마스크 상품 정보
    print('< G마켓의', keyword, '상품 정보 >')
    
    for i in s_list:
        URL = 'https://browse.gmarket.co.kr/search?keyword=' + keyword + i[1]
        raw = requests.get(URL)
        html = bs4.BeautifulSoup(raw.text, 'html.parser')
        box = html.find('div', {'class': 'section__module-wrap', 'module-design-id': '15'})
        items = box.find_all('div', {'class': 'box__item-container'})

        print(i[0])
        for item in items[:4]:
            title = item.find('span', {'class': 'text__item'})
            price = item.find('strong', {'class': 'text__value'})
            print('이름 : ', title.text)
            print('가격 : ', price.text)
        print()

 

결과

728x90