-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
인프런 추천강좌 에러
19.12.26 22:44 작성 조회수 161
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 하니까 결과값이 [] 으로 나옵니다.
제 추측으로는 두번째 요소부터는 불러오는 방식이 다른 거 같은데 제가 뭘 잘못하고 있는 건가요?
답변을 작성해보세요.
1
좋은사람
지식공유자2019.12.27
네 확인했습니다.
해당 예제는 인프런 사이트가 변경되면서 현재 소스코드 수정 해서 올려놨습니다.
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 때문인가요?
그렇다고 하더라도 단순히 선택자만 바꿨다고 이건 되고 저건 안 되고의 차이가 이해가 안 가네요.
답변 2