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

katiesuyoon1115님의 프로필 이미지
katiesuyoon1115

작성한 질문수

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

실전 크롤링 기술팁2 >추출한 데이터 내 추출하기 질문 드립니다

작성

·

343

0

선생님 안녕하세요, 강의 매번 잘 듣고 있습니다. 크롤링 복습 중 질문이 있어 아래와 같이 문의 드립니다 :)

  • 강의명: 실전크롤링과 강력한 크롤링 기술 팁2

  • 강의 내 시간: 4:35

  • 질문: 하단의 초록색 부분만 추출할 때 저는 아래 첫번째샷으로 짜서 >>print(mydata.get_text() 결과값이 선생님이 하신 것과 동일한 결과가 나왔는데요, 선생님께서는 두번째 샷으로 설명해주셨는데, 다시 titles=mydata.find_all('li','course')를 받아서 출력을 해야 하는 건지 궁금합니다. 이미 id='dev_course_list로 상위 id에서 확정을 하고 들어가서 'li','course' 부분을 작성하지 않아도 된다고 생각했습니다.

import requests
from bs4 import BeautifulSoup
res=requests.get('https://davelee-fun.github.io/blog/crawl_test')
soup=BeautifulSoup(res.content,'html.parser')

mydata=soup.find('ul',id='dev_course_list')
print(mydata.get_text())
import requests
from bs4 import BeautifulSoup
res=requests.get('https://davelee-fun.github.io/blog/crawl_test')
soup=BeautifulSoup(res.content,'html.parser')

mydata=soup.find('ul',id='dev_course_list')
titles=mydata.find_all('li','course')
for title in titles:
    print(title.get_text())

답변 1

0

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

두 코드 모두 초록색 부분을 추출하는 것은 동일하며, 두 번째 코드는 각각의 'li' 태그를 따로 추출하여 처리할 수 있는 구조입니다. 결과적으로 두 코드 모두 동일한 출력을 얻을 수 있습니다.

첫 번째 코드는 'ul' 태그에서 모든 텍스트를 한 번에 추출하므로, 구조를 유지하지 않고 텍스트만 얻을 수 있습니다. 다만, 두 번째 코드는 각각의 'li' 태그를 찾아 처리하므로, 필요한 경우 추가 작업을 수행할 수 있습니다.

예를 들어, 'li' 태그 중 특정 조건에 맞는 태그만 출력하거나 처리하려면 두 번째 코드 방식이 더 유용합니다. 그러나 초록색 부분만 가져오는 것이라면, 둘다 상관없습니다.

감사합니다.

katiesuyoon1115님의 프로필 이미지
katiesuyoon1115

작성한 질문수

질문하기