inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

쇼핑몰 크롤링 select, select_one 차이

1261

케이브

작성한 질문수 2

0

잔재미코딩 선생님 우선 강의 정말 잘 듣고 있습니다.

감사합니다. ^^

 

크롤링 프로그램 완성: 크롤링한 데이터에서 다시 크롤링하기1 (업데이트)에서 질문드립니다.

 

Screenshot_2.png수업자료에 올려주신 select로 태그를 가져오는 과정에서

지마켓 bestitems는 왜 one으로만 작동하는 건지 궁금합니다.

강의 찍어주시던 시기에는 bestitems 클래스가 2개가 있어서 select_one이 아닌 select를 사용하셨거든요.

 

Screenshot_3.png

이렇게 넣으면 왜 오류가 나는지 궁금해서 글을 남깁니다.

 

인터넷에 select와 select_one의 차이에 대해 찾아 봤으나 답을 얻지는 못해 문의드리게 되었습니다.

 

소중한 강의로 코딩을 알아가게 해주신 점 다시 한번 감사드립니다. ^^

 

#해당 코드

import requests

from bs4 import BeautifulSoup

res = requests.get('http://corners.gmarket.co.kr/Bestsellers?viewType=G&groupCode=G06')

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

# 2022.09.13 수정사항 (웹사이트 코드가 수시로 변경되면서, best-list class 를 가진 태그가 하나이기 때문에 해당 태그만 선택하도록 수정)

bestitems = soup.select('div.best-list') # select_one() 은 해당 조건에 맞는 태그 하나만 선택하는 함수

products = bestitems.select('ul > li')

for index, product in enumerate(products):

title = product.select_one('a.itemname')

price = product.select_one('div.s-price > strong')

print (title.get_text(), price.get_text(), title['href'])

 

#문의 내용

bestitems = soup.select('div.best-list')

^찾는 값이 1개인 경우에는 무조건 one을 적어야 하는 것일까요?

python 웹-크롤링 select 웹-크롤링 select_one

답변 1

1

잔재미코딩 DaveLee

안녕하세요. 답변 도우미입니다.

select() 함수는 리턴값의 타입이 리스트 이고요. select_one() 은 리턴값이 전체 웹페이지에서 CSS Selector 에 매칭되는 가장 첫번째 객체입니다. 그러다보니까, 리스트 변수라면, 해당 객체를 리스트에서 꺼내온 후에, 해당 객체.select() 등의 메서드를 쓸 수 있거든요. 그래서 위의 경우 에러가 난 것이라고 보시면 좋을 것 같습니다. 위 두 함수는 이전 강의에서 설명드린 적이 있기도 해요. 어쨌든 다음 링크도 코드 이해하시는데 도움이 되실 것 같아서, 남겨드립니다.

https://pycoding.tistory.com/entry/python-%ED%81%AC%EB%A1%A4%EB%A7%81-select-selectone-%EC%B0%A8%EC%9D%B4

감사합니다.

0

케이브

친절한 답변 감사합니다. ^^

65강 소리

0

23

1

섹션 5 CSS selector사용해서 클로링하기2의 커리큘럼 일정 부재?

0

23

2

크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요

0

38

1

정규표현식 및 여러 코드 꼭 외워야 하나요?

0

45

1

리스트 함수형도 정수 데이터 받을 수 있나요?

0

50

1

크롤링 관련 질문

0

69

1

문제 답이 없는 버전은 없나요?

0

81

1

requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.

0

89

1

업데이트 강의

0

105

2

선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?

0

129

2

연습용 예제 파일

0

79

1

lxml 관련 오류

0

111

1

SAVE Request 창 띄우는 법

0

96

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2

0

83

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.

0

102

1

예제 2, 4, 6에 대한 풀이 방식 질문.

0

93

1

문제 파일

0

83

1

pdf 파일 내 코드 복붙시 공백

0

297

1

데이터 저장 강좌 문의 건

0

100

1

" " 와 ' '의 차이를 알고 싶습니다

0

247

1

Exercise 22. 문자열 다루기 (strip)

0

141

1

list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?

0

193

1

셀 삽입후 바로 기입이 가능합니까?

0

143

2

주피터 노트북 마우스 스크롤? 오류

0

1562

2