• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

메인에 있는 탑100은 코드가 살짝 다른데 어떻게 해야 얻을 수 있을까요?

20.11.03 09:57 작성 조회수 202

0

강의 듣던 중 네이버쇼핑의 다른 화면에서도 활용해보고싶어서 해보다가 혼란에 빠졌습니다 ㅠ 왜 출력물이 1,2,3,4,5등까지만 나오는 걸까요?

import requests

from bs4 import BeautifulSoup

res = requests.get('https://search.shopping.naver.com/search/category?catId=50000003&frm=NVSHCAT&origQuery&pagingIndex=1&pagingSize=80&productSet=total&query&sort=rel&timestamp=&viewType=list')

soup = BeautifulSoup(res.content, 'html.parser')

board_lists = soup.select('div.basicList_info_area__17Xyo')

for index, board_list in enumerate(board_lists):

    title = board_list.select_one('div.basicList_title__3P9Q7>a')

    print(index+1, title.get_text())

제 코드가 위의 내용이구요.

출력은 아래의 내용만 나옵니다. 

1 LG전자 LG퓨리케어 WD502AW(렌탈)
2 SK매직 WPU-A1100C (렌탈)
3 쿠쿠전자 쿠쿠 CDW-A0611TW
4 빅쏘 아이폰 12 / 아이폰 12 프로용 레빅 투명 하드 케이스
5 삼성전자 삼성 갤럭시 핏2

이 부분이 셀럭터 복사한 부분인데요.
#__next > div > div.style_container__1YjHN > div > div.style_content_wrap__1PzEo > div.style_content__2T20F > ul > div > div:nth-child(1) > li > div > div.basicList_info_area__17Xyo > div.basicList_title__3P9Q7 > a

"div:nth-child(1)" 여기서 숫자가 1부터 100까지 올라가야 탑100이 출력이 되는데,, 계속 5에서 멈추는 것 같습니다. 

'div:nth-child(' + str(i) + ')' 이런식으로 저 안의 숫자를 100까지 올릴 수 있도록 포문을 다르게 구성해보고 해봐도 도무지 감이 안잡히네요,,
 

 

답변 1

답변을 작성해보세요.

0

안녕하세요. 이 부분은 다음 공지사항과 함께, 양해를 부탁드립니다.

말씀하신 부분은 심지어, 간단히만 볼 수 있는 사안은 아닌것 같고, 저도 해당 사이트를 크롤링하는 코드를 직접 짜보거나, 분석을 해봐야할 것 같습니다.

-----------

안녕하세요. 잔재미코딩 Dave Lee 입니다.

오늘은 한가지 공지를 드려요~~

그동안 정말 다양하고 많은 분들께서 수강을 해주고 계시는데요. 그러다보니, 질문/답변 란에 동일한 이야기를 드릴 때가 많아서 공유를 드려요.

질문/답변 란에, 각자 원하시는 크롤링 코드 관련 문의를 해주시는 경우가 꽤 있었는데요. 그 때마다, 가급적 배려를 드리는 차원으로, 가볍게 볼 수 있는 부분에 대해서만 답변을 드리기는 했습니다. 하지만, 해당 질문/답변 란은 본 강의 영상과 관련한 질문이 있을 때를 답변해드리는 것이 기본 취지인 것 같아요. 

온라인 수학 강의를 수강하면서, 강의에 나온 수학공식을 사용하는 강의 외에 각자 풀고 있는 수학 문제를 질문하고, 이를 풀어드리는 강의는 본 적이 없는데요. 마찬가지로 본 강의를 수강하시면서, 각자의 코드나, 각자 원하시는 크롤링 코드를 작성해드리거나, 함께 풀어나가는 것은 현실적으로 큰 무리가 있습니다.

더군다나 본 강의가 평생 수강이 가능하기 때문에, 이를 지원해드릴 경우, 본 강의를 들으면 내가 원하는 크롤링 코드는 모두 해결해드려야 하는 오해 아닌 오해도 생길 수 있고요. 심지어, 저도 실제 코드를 작성해봐야 해서, 코드를 작성하느라 답변이 늦어지면, 다른 답변이 늦어질 수도 있어서, 다른 수강생분들께도 문제가 될 수 있을 것 같습니다.

그래서, 질문/답변란에 문의를 주실 때에는 각자의 원하시는 크롤링 코드 관련 문의는 안해주시면 감사하겠습니다. 이 부분 꼭 양해를 부탁드립니다.

또한 가능하다면,

1) 어느 챕터의 몇분(:몇초)정도에서 이 부분이 이해가 안간다 와 같은 식으로 질문을 해주시면,

2) 강의에서 나온 코드는 이미지 캡쳐보다, 코드 자체를 텍스트로 질문에 붙여주시면,

훨씬 저도 이해가 빨라서, 빠르게 지금과 같이 상세하게 답변드릴 수 있을 것 같습니다.