인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

hjopy89님의 프로필 이미지
hjopy89

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

쿠팡 페이지 지정 출력

작성

·

393

0

안녕하세요 쿠팡 크롤링 100개 상품 출력 강의를 듣고 코드를 작성했는데요,

똑같이 작성을 해봐도 페이지만 숫자만 출력되고 안에 내용이 출력되지 않습니다 ㅠ

코드 한번만 확인 부탁드려도 될까요?

 

import requests
from bs4 import BeautifulSoup
import pyautogui

keyword = pyautogui.prompt("검색어를 입력하세요 >> ")

rank = 1
done = False

for page in range(1,5):
    if done == True:
        break
    print(page, "번째 페이지 입니다.")
    main_url = "https://www.coupang.com/np/search?&q={keyword}&page={page}"

    coupang_header = {
            'Host': 'www.coupang.com',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'Accept-Language': 'ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3',
        }

    response = requests.get(main_url, headers=coupang_header)
    html = response.text
    soup = BeautifulSoup(html, "html.parser")

    links = soup.select("a.search-product-link")

    for link in links:
        if len(link.select("span.ad-badge-text")) > 0:
            print("광고상품 입니다.")
        else:
            sub_url = "https://www.coupang.com/" + link.attrs['href']
            response = requests.get(sub_url, headers=coupang_header)
            html = response.text
            soup = BeautifulSoup(html, "html.parser")
            
            try:
                brand_name = soup.select_one("a.prod-brand-name").text
            except:
                brand_name = ""

            product_name = soup.select_one("h2.prod-buy-header__title").text
            
            try:
                product_price = soup.select_one("span.total-price > strong").text
            except:
                product_price =""

            print(rank, brand_name, product_name, product_price)
            rank = rank + 1
            if rank > 100:
                done = True
                break

답변 1

1

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요 :)

디버깅을 해보니 오타가 있네요 ㅎㅎ

main_url = "https://www.coupang.com/np/search?&q={keyword}&page={page}"

main_url = f"https://www.coupang.com/np/search?&q={keyword}&page={page}"

 

f-string 으로 바꿔 주셔야 합니다.

감사합니다.

hjopy89님의 프로필 이미지
hjopy89

작성한 질문수

질문하기