कैसे वेबपेज से स्थानीय स्तर पर छवि को बचाने के लिए

वोट
0

नीचे दिए गए लिंक से छवि डाउनलोड करने के लिए कैसे

https://www-nass.nhtsa.dot.gov/nass/cds/GetBinary.aspx?SceneView&ImageID=247572955&Version=-1

कोड जो मैं करने की कोशिश की

import urllib.request
import sys
import shutil
imglink = https://www-nass.nhtsa.dot.gov/nass/cds/GetBinary.aspx?ImageView&ImageID=247247011&Desc=Front%2FLeft+Oblique&Title=Vehicle+1+-+Frontleftoblique&Version=0&Extend=jpg
savelink = C:/Users/VM82958/Desktop/Nass_Extract/abcd.jpg

if sys.version_info[0] < 3:
   with urllib.urlopen(imglink) as response, open(savelink, 'wb') as out_file:
    shutil.copyfileobj(response, out_file)
else:
    with urllib.request.urlopen(imglink) as response, open(savelink, 'wb') as out_file:
    shutil.copyfileobj(response, out_file)

छवि केवल 1KB फाइल डाउनलोड किया जाता है डाउनलोड किया जा रहा है नहीं है।

किसी भी मदद कृपया

18/08/2017 को 11:27
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

प्रतिक्रिया आप अपने से प्राप्त imglinkएक छवि फ़ाइल बल्कि एक HTML पृष्ठ है कि छवि प्रदर्शित करता है नहीं है।

<script type="text/javascript">
function init()
{
 document.getElementById("loading").src = "GetBinary.aspx?Image&ImageID=247247011&CaseID=&Version=0";
 document.getElementById("loading").onload = ";"
}
</script>
<body>
<table width="100%">
<tr><td align="center" style="font-size:large">Images may not be to scale.</td></tr>
<tr><td align="center">Vehicle 1 - Frontleftoblique</td></tr>
<tr><td align="center">Front/Left Oblique</td></tr>
<tr><td align="center"><img onload="javascript:init();" id="loading" width="640px"  heigth="480px" src="img/loading.gif"/></td></tr>
<tr><td align="center">Image ID: 247247011</td></tr>
<tr><td align="center"><a href='javascript:close()'>Close</a></td></tr>
</table>
</body>

छवि के वास्तविक URL है https://www-nass.nhtsa.dot.gov/nass/cds/GetBinary.aspx?Image&ImageID=247247011&CaseID=&Version=0JavaScript चलाने और में छवि के वास्तविक स्थान को सम्मिलित करने के लिए imgटैग आप सबसे अधिक संभावना तरह कुछ का उपयोग करना होगा सेलेनियम और फिर BeautifulSoup एचटीएमएल पार्स करने के लिए।

यहाँ एक स्क्रिप्ट है कि छवि डाउनलोड करेगा (सेलेनियम का उपयोग नहीं है, हालांकि) ताकि आप यह करने के लिए एक तरह से देख सकता है।

import urllib
import sys

imglink = "https://www-nass.nhtsa.dot.gov/nass/cds/GetBinary.aspx?Image&ImageID=247247011&CaseID=&Version=0"
savelink = "C:/Users/John/Desktop/abcd.jpg"

with open(savelink, 'wb') as out_file:
    response = urllib.urlopen(imglink)
    out_file.write(response.read())
18/08/2017 को 11:50
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more