작성
·
230
0
안녕하세요 선생님 선생님의 강의를 따라하고 있었는데, 강의 초반부분에 상품 링크를 받아오는 부분에서 links = soup.select("a.search-product-link")라는 부분이 있습니다. 선생님 강의에서는 첫 페이지 36개를 잘 선택하는 것을 볼 수 있는데요, 쿠팡 사이트에서 변화가 있었는듯 합니다.
쿠팡에서 1~36등까지의 순위 아이템 외에 베스트 셀러 상품들을 한 페이지 내에 추가했는데, 이 상품들도 클래스가 a.search-product-link로 똑같아서 얘네를 따로 어떻게 걸러내야할지 모르겠습니다.
위 사진이 1~36등 상품이고, 아래 사진이 베스트셀러라는 항목에 포함된 상품입니다.. 보시다시피 클래스가 똑같아서 어떻게 구별할 수 있을지 모르겠습니다.
답변 1
0
선생님 제가 스스로 베스트셀러를 제외한 36개 상품만 포함하는 코드를 한 번 만들어 보았습니다.
이렇게 하는 방법이 맞는지 검토해주실 수 있으신가요!!?
결과는 i값이 36으로 나왔습니다!
response = requests.get(main_url, headers=header)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
all_links = soup.select("a.search-product-link") # 순위 상품 + 광고 상품 + 베스트 셀러가 포함된 상품 64개
links = [] # 베스트 셀러를 제외하기 위한 새로운 리스트
i = 1 # 이건 36개가 뜨는지 보려고 넣었습니다.
for all_link in all_links : # all_links 리스트를 하나씩 뜯어보기
if len(all_link.select(".search-product-wrap")) > 0 : # 베스트셀러에는 없는 클래스인 .search-product-wrap 클래스가 있으면
links.append(all_link) # 새로운 리스트인 links에 포함
print(i)
i = i + 1