inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

쿠팡 페이지 지정 출력

447

hjopy89

작성한 질문수 4

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

python 웹-크롤링

답변 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 으로 바꿔 주셔야 합니다.

감사합니다.

셀레니움 환경설정 오류

0

46

2

네이버 로그인 관련

0

257

2

안녕하세요 셀레니움에 대해서 질문

0

85

1

크롤링 연습사이트 문의

0

96

2

선택자 질문

0

71

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

76

2

자동 로그인 질문

0

87

2

44강 제목, 링크

0

105

1

원하는 값이 없을 때

0

89

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

227

2

셀레니움 PDF자료는 받을 수 있나요

0

100

2

글목록 추출하기

0

97

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

88

2

강의 노트가 어디에 있는건가요?

0

80

2

강의 커리큘럼 질문

0

98

1

조건문 else 사용하지 않는 이유

0

76

2

셀레니움으로 접근할 수 없는 경우

0

95

2

웹페이지 변경

0

70

2

자바스크립트로 태그 선택 시 질문입니다.

1

64

2

수료증은 어떻게 받나요?

0

120

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

60

2

드라이버가 안 열려요

0

79

2

이거 해결방법 아시는 분?

0

121

2

네이버 지식인 크롤링..

0

201

2