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

gaol.sgkb님의 프로필 이미지
gaol.sgkb

작성한 질문수

내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)

네이버 금융 일별 시세 데이터 크롤링 문의드립니다.(iframe 관련)

작성

·

596

0

안녕하세요 좋은 강의 잘 듣고 있습니다.
 
네이버 금융에서 삼성전자의 일별 시세 데이터를 크롤링해보다가 아래와 같이 문의드립니다.
 

soup.select("table.type2") 관련 문의

강의 내용대로 따라했는데, len(soup.select("table.type2"))가 1이 아니라 3이 나옵니다.
그리고 soup.select("table.type2 tbody > tbody > tr")을 해보니
iframe의 코드를 읽지 못하고 본문 페이지의 내용만을 읽어온 것 같습니다.
 
res.text를 실행해서 아웃풋을 꼼꼼히 읽어보니 역시 iframe의 자식 구조들은 읽지 못하더라구요.
(아래는 발췌한 내용)
<iframe name=\'day\' src=\'/item/sise_day.naver?code=005930\' width="100%"  height=360 marginheight=0 bottommargin=0 topmargin=0 SCROLLING=no frameborder=0 title="일별 시세"></iframe>
 
강의에서는 오히려 반대로 reqeusts.get()을 사용하면 iframe의 Network Resource 부분을 res로 받아오던데
저는 본문의 html을 받아오는 이유가 있을까요?
 
제가 작성한 코드는 아래와 같습니다.
 
my_headers = { "referer" : "https://finance.naver.com/item/sise_day.naver?code=005930&page=1", "upgrade-insecure-requests" : "1", "user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" }
 
res = requests.get(
    url = "https://finance.naver.com/item/sise.naver?code=005930",
    headers = my_headers
)
 
soup = bs4.BeautifulSoup(res.text)
res.text

답변 1

0

DeepingSauce님의 프로필 이미지
DeepingSauce
지식공유자

안녕하세요!

수업자료의 url과 다른 url을 쓰신듯 합니다.

수업자료의 url은 https://finance.naver.com/item/sise_day.nhn?code=005930&page=3 입니다( sise_day.naver? 가 아닙니다)

 

감사합니다. 

gaol.sgkb님의 프로필 이미지
gaol.sgkb
질문자

질문 안에 답이 있었네요..ㅎㅎ

참조할 URL이 잘못되어있으니 잘못 긁어 올 수 밖에 없었겠군요.

명쾌한 답변 및 좋은 강의 감사합니다.

gaol.sgkb님의 프로필 이미지
gaol.sgkb

작성한 질문수

질문하기