본견적으로 쿠팡 상품 정보를 수집해 보자.
1. 키워드 검색
keyword = input("KEYWORD : ")
2. 쿠팡 검색 결과 화면 분석하기
크롤링 결과를 잘 활용하기 위해선 화면 분석이 정말 중요하다. 수집해야 할 상품을 솎아내야 한다. 광고 상품이나 이벤트 상품을 걸러야 하는 것이다.
그러기 위해선 개발자 도구 분석이 필수적이다.
각 상품은 search-product 클래스에 정의된다. 이 하위에 모든 상품 정보를 포함한다.
3. 코드 작성하기
아래 코드 차이는 정확한 클래스명을 지정하는 것이다. 첫번째는 search-product 클래스 외 또 다른 클래스가 함께 있어도 찾아진다. 즉, 광고나 이벤트에 이 클래스가 이용된다는 말이다. 반면 두 번째는 search-product 클래스만 가진 태그에서 상품 정보를 추출한다.
# items = soup.select(".search-product")
items = soup.select("[class=search-product]") # 정확하게 search-product 클래스인 것만 찾기
상세 상품정보를 출력하고 상품 이미지는 pc에 저장하자.
for rank, item in enumerate(items[:10],1):
name = item.select_one(".name")
price = item.select_one(".price-value")
image = item.select_one(".search-product-wrap-img")
print(name.text.strip())
if price :
print(f"{price.text} 원")
print(link)
# img_url = ""
if image.get("data-img-src") :
img_url = f"https:{image.get('data-img-src')}"
else:
img_url = f"https:{image['src']}"
print(img_url)
# print(img_url.replace("230x230","500x500"))
res = requests.get(img_url)
img_name = f"img/{rank}_{name.text.strip()}.jpg"
with open(img_name,"wb") as file:
file.write(res.content)
print()
상품 이미지 정보가 data-img-src 또는 src 속성에 값으로 되어있다. 그런데, 일부 이미지 태그는 data-img-src 없는 것도 있어서 이를 감안한 코드를 작성해야 한다.
이미지 저장 결과도 확인해 보자. 10개 이미지가 잘 저장되었다.
반응형
'코드리뷰 > chatGPT(Python)코드' 카테고리의 다른 글
웹 크롤링 실전 - 쿠팡 상세 페이지 정보 가져오기 (0) | 2024.03.29 |
---|---|
웹 크롤링 실전 - 쿠팡 크롤링 안되면 이것만 넣어주면 됩니다. (0) | 2024.03.26 |
웹 크롤링 기초 - 네이버 쇼핑몰 상품 정보 추출하기 (0) | 2024.03.24 |
댓글