인프런 커뮤니티 질문&답변
실전크롤링과 강력한 크롤링 기술팁2 버전에서 질문
작성
·
260
0
split함수를 적용해서 실행을 하면 첫줄만 결과값이 나옵니다.
강사님의 코드를 그대로 복사해서 쓴건데 그렇게 나와서
어떤 부분이 잘못된건지 문의드립니다.
캡쳐로 제 컴퓨터에서 강사님 홈페이지 html보이는 부분이랑
제가 파이썬으로 작업한 부분같이 보내드립니다. http://localhost:8888/notebooks/python%20-study/%ED%81%AC%EB%A1%A4%EB%A7%81.ipynb

답변 1
0
안녕하세요.
우선 보내주신 링크는 수강생님의 PC에서만 유효한 링크입니다. 저에게 보여지는 링크는 아니고요.
첫번째 코드와 두번째 코드가 오로지 split 부분만 다른건지 확인이 필요한 것 같습니다. 캡쳐한 부분만으로 보이기에는 split 부분만 다른 것 같기는 한데요. 실제 첫번째코드가 실행했을때, 저렇게 리스트가 나오는데, 여기에 split 만 붙인 두번째 코드가 한줄만 나온다면, 첫번째 코드에 split 을 다 붙이시기보다 우선 split('[')[0] 과 같이 작게 쪼개서 붙여보시면서 테스트해보시면 좋을 것 같습니다.
제공해드린 코드를 그대로 자신이 다른 노트북에 치셨다고 했을 때에도 매우 확인하기 어려운 사소한 실수로, 동일하게 동작을 안하는 경우가 있을 수 있어요. 이 때는 무조건 제가 제공해드린 주피터 노트북 파일을 그대로 실행해보고, 코드를 키보드로 치기보다, 전체를 복사해서, 붙여넣어서, 테스트를 해보시면 좋습니다. 그런 후에 자신의 이전 코드와 제가 드린 코드를 꼼꼼히 비교해보시면서, 어느 부분이 다르게 되어 있는지 확인해보시면 좋습니다. 저에게 그런 부분을 보여주셔도, 저 또한 기존 제 코드와 수강생님의 코드에서 어느 부분이 다른지를 숨은 그림 찾기 하듯이 비교해보는 것인데요.
직접 제가 작성해봤을 때, 본래 강의에서 설명드린 코드와
-----------------
import requests
from bs4 import BeautifulSoup
res = requests.get('https://davelee-fun.github.io/blog/crawl_test')
soup = BeautifulSoup(res.content, 'html.parser')
titles = soup.find_all('li', 'course')
for title in titles:
print(title.get_text())
-----------------
여기에 split 을 넣은 코드 모두 둘다 정상 동작합니다.
------------
import requests
from bs4 import BeautifulSoup
res = requests.get('https://davelee-fun.github.io/blog/crawl_test')
soup = BeautifulSoup(res.content, 'html.parser')
titles = soup.find_all('li', 'course')
for title in titles:
print(title.get_text().split('[')[0].split('-')[1])
------------





