• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

인프런 추천강좌 에러

19.12.26 22:44 작성 조회수 163

0

네이버는 문제 없이 잘 되는데 유독 인프런에서만 요소를 하나밖에 잡지 못하는 문제가 발생합니다.

https://www.inflearn.com/추천-강좌는 링크가 없어서

 https://www.inflearn.com/courses

에 있는 제목과 이미지를 가지고 따라해봤는데요.

(courses말고 인프런 메인에 있는 이미지로 해도 마찬가지로 안됩니다.)

from bs4 import BeautifulSoup
import urllib.request as req
import urllib.parse as rep
import os
import errno

# 인프런 이미지 검색
base = "https://www.inflearn.com/courses"
quote = rep.quote_plus("")
url = base + quote
# print(url)
res = req.urlopen(url)
savePath = "C:\\tutorials\python_2\imagedown\\"

try:
if not (os.path.isdir(savePath)):
os.makedirs(os.path.join(savePath))
except OSError as e:
if e.errno != errno.EEXIST:
print("폴더 만들기 실패!")
raise

soup = BeautifulSoup(res, "html.parser")
# print(soup)
img_list = soup.select("#courses_section")
print(img_list)

여기서 img_list = soup.select("")에 무엇을 넣던 첫번째 요소 즉, 노션(notion) 완벽 활용법만 나오고 끝이 납니다.

하다하다 안되니까 두번째 요소 남박사의 파이썬 실전 100% 활용을 그대로 copy selector 하니까 결과값이 [] 으로 나옵니다.

제 추측으로는 두번째 요소부터는 불러오는 방식이 다른 거 같은데 제가 뭘 잘못하고 있는 건가요?

답변 2

·

답변을 작성해보세요.

1

네 확인했습니다.

해당 예제는 인프런 사이트가 변경되면서 현재 소스코드 수정 해서 올려놨습니다.

https://github.com/eunki7/python_create_app_1/blob/master/section2/2-8-2_new_1.py

위에 예제 소스를 참조하세요.

 해당 영상 공지 올리도록 하겠습니다.

나중에 확인해주세요 감사합니다.

0

라빈느님의 프로필

라빈느

질문자

2019.12.29

안녕하세요.

실행 결과 정상적으로 실행이 되는 것을 확인했습니다.

그런데

recommand = soup.select("div.course_card_item")
recommand = soup.select(".courses_container")

첫번째는 정상적으로 출력되고 두번째는 그렇지 않은 이유가 뭔가요?

.courses_container가 더 상위요소라서 div.course_card_item의 내용까지 포함해야하는 거 아닌가요?

개발자도구로 보니까 json으로 강의 목록을 불러오는 거 같은데, 제가 json을 잘 모르지만 json 때문인가요?

그렇다고 하더라도 단순히 선택자만 바꿨다고 이건 되고 저건 안 되고의 차이가 이해가 안 가네요.