2016-11-19 2 views
0

내 스크립트를 통해 다음 link에 액세스하려고하고 있으며 다음 차트를 다운로드하려고합니다.urllib.urlretrieve()를 사용하여 이미지 저장

내가 허용 응답 here를 사용하여 구현했지만, 난 파일을 열 때, 나는 오류가 발생합니다 :

import urllib 
image_element = driver.find_element_by_id('chartImg') 
src = image_element.get_attribute("src") 
if src: 
    urllib.urlretrieve(str(src), "test.png") 

다음은 내가 더 디버깅하려고 : 여기

The file “test.png” could not be opened because it is empty. 내 코드입니다 저에게 다음과 같은 출력을 제공

if src: 
    a, b = urllib.urlretrieve(str(src), "test.png") 
    print a, b.items() 

에 내 코드를 변경 :

,
test.png 
[('date', 'Sat, 19 Nov 2016 01:19:20 GMT'), ('connection', 'Keep-Alive'), ('content-length', '0'), ('server', 'BigIP')] 

'content-length'가 '0'인 이유를 알고 있습니까? 나는 이것이 다운로드 된 파일이 비어있는 이유라고 생각한다.

답변

1
나는 주위에 일을 발견

... 더 나은 방법이 있는지 몰라 스크린 샷을

image_element = driver.find_element_by_id('chartImg') 
    src = image_element.get_attribute("src") 
    if src: 
     driver.get(src) 
     driver.save_screenshot('screen.png') 

을하지만,이 작업을

1

내가 긁고있는 이미지에 확장 프로그램이 포함되어 있지 않기 때문에 그 이유가 있다고 생각합니다. 이 코드를 실행하면 다음과 같습니다.

src = "http://i.imgur.com/2C7Csq6.png" 
urllib.urlretrieve(src, "test.png") 

PNG 파일이 작동하고 완전히 동일한 이미지입니다. 확장 기능을 제공하지만 아무것도 찾지 못한 이미지 공유 서비스에 업로드하지 않고도이 작업을 수행 할 수있는 방법을 찾으려고했습니다. 또한 원래 src 문자열에 .png을 추가하려고 시도했지만 그 중 하나도 작동하지 않았습니다. 내 생각 엔이 웹 사이트 관련 문제입니다. 이 문제를 해결할 수 있기를 희망합니다. 행운을 빈다.

+0

감사하지, 나는이 모든 이미지와 함께 작동 할 것에 동의 확장 기능 (* .png, * .jpeg)이 경우 이미지에 확장 기능이 없으므로 가능한 팁을 찾고 있습니다. – user1596115