강의

멘토링

커뮤니티

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

yejin han님의 프로필 이미지
yejin han

작성한 질문수

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

실전 크롤링과 강력한 크롤링 기술 팁2 (업데이트)

실전크롤링과 강력한 크롤링 기술팁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])

------------

마지막으로 다음 '궁금한 점에 대한 답변 찾기 꿀팁' 글도 읽어보시면, 훨씬 도움이 되실 것 같습니다.
궁금한 점에 대한 답변 찾기 꿀팁
질문하시기 전에, 다음 내용을 확인해주시면 훨씬 도움이 되실꺼예요.
첫번째, 질문 전 검색은 필수! google.co.kr 에서 질문에 대해 검색해보세요!
에러 메시지는 맨 마지막 라인을 복사해서 구글에서 검색해보시고, 질문에 대해서는 질문 관련 키워드들을 조합해서 구글에서 검색해보세요.
개발자들은 모두 이를 통해, 답변을 얻습니다. 한발짝 나아 가시려면, 반드시 이런 연습이 꼭 필요합니다.
사실 검색 없이 질문을 통해, 바로 답을 얻는 부분은 장기적으로는 큰 의미가 없어요. 궁극적으로는 프로그래밍은 답을 찾는 연습을 하셔야 합니다.
저는 한가지 확인이 필요한 사안을 위해, 20 ~ 30분 검색과 10개 이상의 블로그를 찾아보는 일을 하루에도 한두번씩 한답니다.
검색이 처음이신 분들은 개발자를 위한 정보 검색 팁을 참고하시면 훨씬 성장하시는데 도움이 되실 것입니다.
두번째, 각 강의마다, 다른 분들께서도 이미 질문하신 사항들이 있습니다.
해당 부분을 확인해보시면, 답변을 기다릴 필요 없어서, 훨씬 도움이 되실 것 같습니다.
세번째, 각자 작성하신 코드 에러의 경우는
제가 제공해드린 코드자료를 수정하지 않고, 단계별로 그대로 실행해보신 후, 해당 코드와 자신의 코드가 어떤 부분이 다른지를 단계별로 확인해보시면, 훨씬 좋습니다.
이런 부분도 개발자가 기본적으로 수행하는 작업이라서요. 반드시 필요한 부분이고, 훨씬 성장하시는데 도움이 되실 꺼예요.
마지막으로, 질문하실 경우에는 어느 강의 영상의 어느 구간(가능하다면 몇분 몇초)에 대해 질문하시는 것인지 꼭 명기해주시면 좋습니다.
그래야 맥락이 이해가 가서, 보다 좋은 답변할 수 있습니다. 만약 구간 명기가 가능하지 않다면, 강의 영상 외적인 문의인지에 대해 확인 부탁드립니다. 본 질문 답변란은 강의 영상 이해를 돕기 위한 자리입니다. 강의 영상 외적인 부분은 양해를 부탁드립니다. 특히 극히 일부 개인별 코드 리뷰나 기능 구현등 무리가 되는 요청을 하시는 분들도 계셨는데, 좋은 강의가 선순환될 수 있도록 부탁드립니다.
잔재미코딩 Dave Lee 드림
yejin han님의 프로필 이미지
yejin han

작성한 질문수

질문하기