작성
·
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' 태그 중 특정 조건에 맞는 태그만 출력하거나 처리하려면 두 번째 코드 방식이 더 유용합니다. 그러나 초록색 부분만 가져오는 것이라면, 둘다 상관없습니다.
감사합니다.