인프런 커뮤니티 질문&답변

김양희님의 프로필 이미지
김양희

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

직접 작성해보며 익숙해지기: 크롤링 기본 연습문제 풀기 (업데이트)

크롤링 질문입니다!

작성

·

166

0

안녕하세요~ 

파이썬 입문과 크롤링 기초 강의 - 네이버 쇼핑 사이트 크롤링하기

강좌 듣고 질문드려요!

다른 사이트로 연습해보다가 한 페이지 내에 순위 카테고리가 여러개인 경우, 그 중 2개 카테고리의 순위만 뽑아보았는데요

http://ticket.interpark.com/Contents/Ranking?NaPm=ct%3Dkr8wf7bu%7Cci%3Dcheckout%7Ctr%3Dds%7Ctrx%3D%7Chk%3Da779ee01dff811a159e1fe30a125cc6648ca3fc7

import requests

from bs4 import BeautifulSoup

res = requests.get('http://ticket.interpark.com/Contents/Ranking?NaPm=ct%3Dkr8wf7bu%7Cci%3Dcheckout%7Ctr%3Dds%7Ctrx%3D%7Chk%3Da779ee01dff811a159e1fe30a125cc6648ca3fc7')

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

items1 = soup.select('body > div.wrap > div.rankingMain > div.rankingGenre.genre2 > div > div.genreItems > div > div > ul > li > a.prdName')

items2 = soup.select('body > div.wrap > div.rankingMain > div.rankingGenre.genre4 > div > div.genreItems > div > div > ul > li > a.prdName')

for item1 in items1:

    print (item1.get_text())

for item2 in items2:

    print (item2.get_text())

이렇게 카테고리 당 정의를 각각하지 않고, (리스트처럼?)2개의 카테고리를 한 번에 입력하여 한 번에 출력할 수 있는 방법도 있을까요~?

답변 1

0

안녕하세요. 우선 말씀하신 부분은 강의 영상에 대한 내용이 아닌 부분이라서, 양해를 부탁드립니다.
본 질문/답변란은 본 강의의 영상이 이해가 안갈 경우등에 대한 질문/답변란이고요. 초반부 꿀팁 영상에서도 말씀을 드리고, 관련된 문의를 하신 질문/답변란에도 상세히 설명을 드렸는데요.
강의 자체가 평생 강의라서, 강의 영상이 아닌 문의까지 평생 답변을 드리는 부분은 무리가 있어서요. 특히 각자 원하시는 크롤링도, 직접 저도 작성해봐야 아는 부분이라서요. 
아마 온라인 수학 강의를 수강하면서, 강의에 나온 수학공식을 사용하는 강의 외의 문제나 문의를 평생 답변해주기를 기대하는 경우는 없는데요. 마찬가지로 이해해주시면 좋을 것 같습니다.
가볍게는 카테고리라는 것이 해당 사이트에 대한 특정 부분을 의미하는 것 같습니다. 다른 데이터를 한번에 뽑아내는 것은 해당 데이터가 동일한 태그 내에 있다면, 해당 태그로 우선 전체를 추출한 후, 이를 리스트로 만드는 방식으로 후처리를 하는 식으로 처리할 수 있을 것 같습니다. 그렇지 않다면, 우선 다 추출해서 변수에 넣은 후, 변수 값을 조합해서, 리스트로 만드는 식으로 코드를 작성해야할 것 같습니다.
김양희님의 프로필 이미지
김양희

작성한 질문수

질문하기