작성
·
504
1
'''
아래 키워드별로 순위, 브랜드명, 제품명, 가격, 상세페이지링크를 엑셀에 저장하기(1~100위 까지)
[게이밍마우스, 기계식 키보드, 27인치 모니터]
※ 주의사항
- 광고 상품은 제외한다 (AD라고 표기됨)
- 브랜드명이 없거나 이상하면 빈칸
'''
import requests
from bs4 import BeautifulSoup
import time
import pyautogui
# 헤더에 User-Agent, Accept-Language 를 추가하지 않으면 멈춥니다
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',
}
url = f'https://www.coupang.com/np/search?component=&q=%EA%B2%8C%EC%9D%B4%EB%B0%8D+%EB%A7%88%EC%9A%B0%EC%8A%A4&channel=user'
response = requests.get(url, headers=header)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
items = soup.select("div.descriptions-inner")
for item in items :
name = soup.select_one("div.name").text
print(name)
쿠팡 첫페이지에서 '게이밍 마우스' 검색하여 각 상품별 이름을 가져오는 코드를 작성했는데요.
(강의에서처럼 상품별 url에 들어가서 가져오는 것이 아닌, 검색 완료 페이지에서 바로 가져오기)
각 상품별로 div의 descriptions-inner tag를 가지고있고 div의 name tag를 가지고있어 해당 방법으로 가져오기를 해봤습니다.
위와 같이 실행을 하면 상품별 이름을 가져오기는 하는데 해당 페이지내 랜덤한 상품명이 하나로 쭉 나오는데... 어디서 잘못된걸까요?
(결과는 아래 처럼 페이지중 하나의 상품명이 쭉나옵니다.)
로지텍코리아 (정품) 로지텍 G502 X PLUS 무선 게이밍 마우스, 블랙
로지텍코리아 (정품) 로지텍 G502 X PLUS 무선 게이밍 마우스, 블랙
로지텍코리아 (정품) 로지텍 G502 X PLUS 무선 게이밍 마우스, 블랙
로지텍코리아 (정품) 로지텍 G502 X PLUS 무선 게이밍 마우스, 블랙
로지텍코리아 (정품) 로지텍 G502 X PLUS 무선 게이밍 마우스, 블랙
로지텍코리아 (정품) 로지텍 G502 X PLUS 무선 게이밍 마우스, 블랙
감사합니다.
말씀해주신대로 soup에서 item으로 변경했는데 한가지 문제점이 있는거 같습니다.
현재 쿠팡에서 게이밍 마우스로 검색을 하면 아래와 같이 검색이 되는데