쇼핑몰 크롤링 select, select_one 차이
1261
작성한 질문수 2
잔재미코딩 선생님 우선 강의 정말 잘 듣고 있습니다.
감사합니다. ^^
크롤링 프로그램 완성: 크롤링한 데이터에서 다시 크롤링하기1 (업데이트)에서 질문드립니다.
수업자료에 올려주신 select로 태그를 가져오는 과정에서
지마켓 bestitems는 왜 one으로만 작동하는 건지 궁금합니다.
강의 찍어주시던 시기에는 bestitems 클래스가 2개가 있어서 select_one이 아닌 select를 사용하셨거든요.

이렇게 넣으면 왜 오류가 나는지 궁금해서 글을 남깁니다.
인터넷에 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을 적어야 하는 것일까요?
답변 1
1
안녕하세요. 답변 도우미입니다.
select() 함수는 리턴값의 타입이 리스트 이고요. select_one() 은 리턴값이 전체 웹페이지에서 CSS Selector 에 매칭되는 가장 첫번째 객체입니다. 그러다보니까, 리스트 변수라면, 해당 객체를 리스트에서 꺼내온 후에, 해당 객체.select() 등의 메서드를 쓸 수 있거든요. 그래서 위의 경우 에러가 난 것이라고 보시면 좋을 것 같습니다. 위 두 함수는 이전 강의에서 설명드린 적이 있기도 해요. 어쨌든 다음 링크도 코드 이해하시는데 도움이 되실 것 같아서, 남겨드립니다.
감사합니다.
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





