请注意,我正在使用以下版本的Python:
(venv)C:\ Users \ NBenton \ PycharmProjects \ RES3D_BETA> python Python 3.6.5 (v3.6.5:f59c0932b4,2018年3月28日,16:07:46)[MSC v.1900 32位(Intel)] 在win32上
我尝试使用以下两个脚本通过URL下载单个GIF文件。
1)
from urllib.request import urlretrieve
urlretrieve('http://www.iframeapps.dcnr.state.pa.us/topogeo/PaGWIS_search/DisplayReportImage.aspx?id=IM209132',
"C:/Users/NBenton/PycharmProjects/RES3D_BETA/image1.gif")
2)
from urllib import request
request.urlretrieve("http://www.iframeapps.dcnr.state.pa.us/topogeo/PaGWIS_search/DisplayReportImage.aspx?id=IM209132",
"image2.gif")
对于这些脚本中的每一个,该过程都以退出代码0结尾-因此,据我所知,没有发生灾难性事件。
但是,两个输出文件(image1.gif和image2.gif)在查看每个文件时都显示为:
有人可以提供有关此问题的一些见解吗?确实确实有类似(几乎相同)的情况发生在stackoverflow上,但并非如此。
答案 0 :(得分:1)
要检索的URL不是图像源,而是包含图像的HTML文档。
运行(或在浏览器中打开URL)时:
curl http://www.iframeapps.dcnr.state.pa.us/topogeo/PaGWIS_search/DisplayReportImage.aspx?id=IM209132
您可以在文档的源文档中查看图像src
。
<!--...-->
<div style="text-align: center;">
<img id="imgPhoto" src="./WellReports/<maskedpath>/IM209132.gif" width="100%" border="0" />
</div>
图像的src
表明其位置是相对于URL路径而言的,即
http://www.iframeapps.dcnr.state.pa.us/topogeo/PaGWIS_search/WellReports/<maskedpath>/IM209132.gif