urllib을 활용한 데이터 추출하기(2) 과제 질문한번더 합니다
153
2 asked
한번더 질문 드립니다.
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 경우에 직접jpg Url이 아닌 상위 url을 이용해서
왼쪽베너가 갱신되면 , 코드를 실행하였을 때 갱신된 이미지를 저장할 것이라고 생각했습니다.
왼쪽 베너는 브라우저를 보고있을 때 갱신 속도가 아주 느려서 같은 이미지가 왼쪽 베너에 오래동안 유지됩니다.
이럴경우는 우연히 서버측에서 변경되는 타이밍에 가져와서 그런것은 아니지 않나요?
이미지가 변경되는 타이밍에 저장이되서 그렇다면 이미지 갱신주기가 매우 짧아서 그 주기와 저장시기가 맞아야
하는것이라고 생각이들어서 다시 여쭤봅니다.
또 섹션 2에서 selenium 수업이 없는것 같습니다. beautifulsoup 강의는 있습니다.
Answer 1
0
답변드립니다.
현재 보내주신 코드 전체를 제가 리뷰 한 후 답변을 드릴 수 없는 관계로 정확한 소스코드를 리뷰하지는 않았습니다.
보통은 타이밍 문제에서 빈 파일이 생성되는 경우는 많습니다.
그리고 받고자 하는 이미지 2장 full url 정보를 복잡하게 작성하는 것 보다는
imgUrl1
imgUrl2
선언해서
형식으로 각각 테스트 해보시기 바랍니다.
또한 실제 브라우저가 아닌 경우에는
서버측에서 1. 브라우저에 내장되어 있는 pdf 뷰어가 있는지 여부
- fake-header 정보를 가졌는지 여부
를 체크해서 부가 정보를 Response 하지 않는 방법도 취하고 있습니다
저라면 이미지 url을 가지고 base64 구문으로 print문으로 출력해보고 단위테스트를 진행할 것같습니다.
https://stackoverflow.com/questions/43926563/how-to-read-bytes-from-a-image-url-jpeg-and-encode-in-base64-on-python-2-7?rq=1
섹션3에서 Selenium 수업이 있습니다.
아울러, 답변이 늦어질 수 있으니 급한 질문은 쪽지로 보내주세요.
현재 예제에서 error 발생
0
367
3
유튜브 동영상 다운로드
0
1448
2
Atom 에디터 관련
0
337
1
위시켓 폼데이터
0
274
1
스케줄러 사용 관련 질문 드립니다
0
627
1
selenium 에러
0
428
1
Progress bar 쓰레드 관련
0
489
1
Install Package 관련 문의
0
328
1
tkinter 샘플 코드 실행 오류 건
0
1267
1
4-7-6 네이버 & 카카오 주식 정보 가져오기
0
381
1
네이버자동로그인_by_selenium
0
876
1
위시캣 로그인 처리 및 크롤링 질문
0
344
1
2-8-1 네이버이미지 크롤링 질문
1
604
3
li:nth-of-type 질문
0
350
2
에러가 뜨는데 잘 모르겠어요ㅠ
0
401
2
Install Packages 항목이 안보이는 이유가 뭘까요?
0
400
2
환경변수 Path 설정 방법
0
631
1
웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런
0
333
1
웹 브라우저 없는 스크랩핑 및 파싱 실습(1) -git주소
0
475
3
download2-8-1. py질문
0
203
1
ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??
0
645
1
인프런 환경이 바뀌어서 제나름대로 하는데
0
196
1
다시올려주신 예제파일로하는데
0
190
1
아직도 에러가뜨나보네요?
0
584
1

