• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

urllib을 활용한 웹에서 데이터 추출하기(2)과제 질문입니다

19.01.23 16:40 작성 조회수 144

0

안녕하세요 재미있게 강의를 수강중입니다.

첫번째 과제에서 질문이있습니다.

import sys

import io

import urllib.request as dw

from urllib.parse import urlencode

sys.stdout=io.TextIOWrapper(sys.stdout.detach(),encoding='utf-8')

sys.stderr=io.TextIOWrapper(sys.stderr.detach(),encoding='utf-8')

N_bannerUrl1=" https://nv.veta.naver.com/fxshow"

value1={

'su':'SU10079'

}

value2={

'calp':'1'

}

value3={

'nrefreshx':'1'

}

param1=urlencode(value1)

param2=urlencode(value2)

param3=urlencode(value3)

Naver_bannerUrl1=N_bannerUrl1+'?'+param1+'&'+param2+'&'+param3

print(Naver_bannerUrl1)

savePath1="d:/Web crowling study/section2/naver_banner1.jpg"

reqData1=dw.urlopen(Naver_bannerUrl1).read()

with open(savePath1,'wb') as savefile1:

savefile1.write(reqData1)

Naver_bannerUrl2=" https://ssl.pstatic.net/tveta/libs/1226/1226129/0744cf34170d945cfd3f_20190118132726901.jpg"

savePath2="d:/Web crowling study/section2/naver_banner2.jpg"

reqData2=dw.urlopen(N_bannerUrl2).read()

with open(savePath2,'wb') as savefile2:

savefile2.write(reqData2)

print("다운로드완료!")

다음과 같이 코딩을 하였습니다

왼쪽 베너를 Naver_bannerUrl1

오른쪽 베너를 Naver_bannerUrl2 로 설정했습니다.

오른쪽 배너 같은경우 해당부분 jpg url을 그대로 가져와서 저장시키니 제대로 저장이 되었습니다. 그러나 새로고침후 바뀐 사진이 당연히 저장이 안됩니다.

그래서 왼쪽 배너 같은경우 jpg url이 아닌 보다 상위 베너url을 가져와 위와 같이 코딩했습니다.

그런데 jpg확장자로 저장은되나 파일을 열면 그림이 나오지 않고 데이터가 없습니다.

왜그런지 알 수 있을까요?

답변 1

답변을 작성해보세요.

0

네 안녕하세요. 좋은 질문입니다.

서버측에서 변경되는 타이밍에 가져오시는 것 같습니다.

그래서 빈 이미지 파일이 생성 되는 것 같은데요.

섹션 2에 가셔서 selenium 수업을 들으시고 해당 패키지를 이용해서 코딩하시면

아~주 손쉽게 가져오실 수 있습니다.

참고하세요.

감사합니다.