inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

CSS selector 사용해서 크롤링하기2 (업데이트)

섹션4 마지막에서 두번째 강의의 6분38초내용입니다.

358

jdo5640

작성한 질문수 10

0

단순히 이 코드에서 질문있습니다.

select 와 find는 파싱직후 상태의 코드에서 제가 원하는 코드를 찾아주는 역할인데 처음 select('tr)에서 select가 사용되면서 items는 list형태가 되고 그 list형태인 items를 하나씩 뽑아내기 위해 for문을 사용했습니다.

이때 items에서 for문을 돌려 뽑아진 item은 그 형태가 어떤지 모르겠으나 파싱 직후의 코드상태와 형태가 같기 때문에 select를 한번 더 사용할 수 있는 것 같은데 맞나요?

 

그리고 제가 생각한 flow는 tr tag를 기준으로 select를 해서 반환된 list가 items에 들어가고 그 items에서 for문에 들어간 처음 코드(list-->파싱 직후의 코드 형태)가 td tag를 기준으로 다시 select가 진행된다 판단했습니다. (두번째 select는 tr tag 안에 td tag가 아닌 다른 tag가 있을 수 있으므로 td tag만 뽑아내기 위해 해줬다 생각했습니다.)

이 논리도 맞는지 궁금합니다.

python 웹-크롤링

답변 1

0

잔재미코딩 DaveLee

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

네, 맞습니다.

BeautifulSoup 라이브러리를 사용하면 HTML 및 XML 문서를 파싱하고 탐색하는 것이 가능합니다. 이때, selectfind 같은 메소드를 사용하면 원하는 HTML 태그 또는 특정 속성을 가진 요소들을 찾아낼 수 있습니다.

select 메소드는 CSS 선택자를 사용하여 문서에서 원하는 요소를 선택하는 역할을 합니다. 이는 반환 결과가 리스트 형태로, 여러 요소가 선택될 수 있음을 의미합니다. 예를 들어, select('tr')를 사용하면 HTML 문서에서 모든 'tr' 태그를 찾아 리스트로 반환합니다.

이렇게 반환된 리스트를 순회하며 (for item in items:), 각 항목에 대해 추가적으로 select를 사용할 수 있습니다. 이는 각 항목도 BeautifulSoup 객체이기 때문입니다. 따라서, 각 'tr' 태그 아래에 있는 'td' 태그를 다시 선택하는 것이 가능합니다 (item.select('td')).

말씀하신 것처럼, 첫 번째 select에서는 'tr' 태그를 기준으로 요소를 선택하고, 두 번째 select에서는 이러한 'tr' 태그 아래에 있는 'td' 태그를 추가로 선택하는 과정이 진행되는 것이 맞습니다. 이 과정은 테이블의 각 행 (tr) 에서 열 (td) 값을 추출하는 데 일반적으로 사용되며, 이렇게 함으로써 원하는 데이터를 세밀하게 선택하고 추출하는 것이 가능해집니다.

감사합니다.

65강 소리

0

19

1

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

0

18

2

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

0

38

1

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

0

44

1

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

0

50

1

크롤링 관련 질문

0

69

1

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

0

78

1

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

0

87

1

업데이트 강의

0

103

2

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

0

128

2

연습용 예제 파일

0

79

1

lxml 관련 오류

0

110

1

SAVE Request 창 띄우는 법

0

96

1

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

0

80

1

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

0

102

1

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

0

93

1

문제 파일

0

83

1

pdf 파일 내 코드 복붙시 공백

0

296

1

데이터 저장 강좌 문의 건

0

100

1

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

0

246

1

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

0

137

1

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

0

193

1

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

0

143

2

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

0

1554

2