links 클래스 a.search-product-link가 36개가 아닙니다..
272
작성한 질문수 5
안녕하세요 선생님 선생님의 강의를 따라하고 있었는데, 강의 초반부분에 상품 링크를 받아오는 부분에서 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
셀레니움 환경설정 오류
0
45
2
네이버 로그인 관련
0
250
2
안녕하세요 셀레니움에 대해서 질문
0
84
1
크롤링 연습사이트 문의
0
94
2
선택자 질문
0
71
2
'특정 요소가 나타날 때까지 스크롤' 부분 에러
0
76
2
자동 로그인 질문
0
86
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
97
1
조건문 else 사용하지 않는 이유
0
75
2
셀레니움으로 접근할 수 없는 경우
0
95
2
웹페이지 변경
0
70
2
자바스크립트로 태그 선택 시 질문입니다.
1
64
2
수료증은 어떻게 받나요?
0
117
2
class명을 활용하여 선택자를 만들지 않는 경우..?
0
60
2
드라이버가 안 열려요
0
79
2
이거 해결방법 아시는 분?
0
121
2
네이버 지식인 크롤링..
0
201
2





