我正在尝试使用urlretrieve,同时添加自定义标头来检索文件.
检查urllib.request我实现的代码源时,urlopen可以Request在参数中取一个对象,而不仅仅是一个字符串,允许放置我想要的头.但是如果我尝试做同样的事情urlretrieve,我会得到一个TypeError:期望的字符串或类似字节的对象,正如在这篇文章中提到的那样.
我最终做的是重写我自己的urlretrieve,删除抛出错误的行(该行与我的用例无关).
它工作正常,但我想知道是否有更好/更清洁的方式,而不是重写我自己的方式urlretrieve.如果可以传递一个自定义标题urlopen,感觉应该可以这样做urlretrieve吗?
情况:要下载的文件是一个大文件(>100MB)。这需要相当长的时间,尤其是在互联网连接速度较慢的情况下。
问题:但是,我只需要文件头(前 512 个字节),它将决定是否需要下载整个文件。
问题:有没有办法只下载文件的前 512 个字节?
附加信息:目前下载是使用 Python2.7 中的 urllib.urlretrieve 完成的
我正在尝试使用Python 3.5.2 中的urllib.request.urlretrieve(url, filename)下载 .jpg 文件。网址是http://dm.victoriassecret.com/product/404x539/V603923_CROP1.jpg。引发以下错误: http.client.RemoteDisconnected: 远程端关闭连接没有响应。
我在尝试使用此 url = http://lp2.hm.com/hmprod?set=source[/model/2017/9AS 0505882 002 00 0034.jpg],type[STILLLIFE_FRONT]&hmver=0&call时也遇到问题=url[文件:/产品/风格]。
在这种情况下,会引发以下错误:raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 505: HTTP Version not support
有谁知道这些网址有什么问题以及如何解决它?与我分享你的知识,那就太好了。
是否可以使用urlretrieve()以将某些内容下载到子文件夹中而不以绝对但相对的方式表达?例如:
urllib.request.urlretrieve(url, '/downloads/2017/foo.txt')
Run Code Online (Sandbox Code Playgroud)
每次我向文件名添加路径时,python 都会引发以下错误:
文件“C:\ 2017/foo.txt'
但是当我使用这段代码时:
urllib.request.urlretrieve(url, 'foo.txt')
Run Code Online (Sandbox Code Playgroud)
它愉快地下载文件。
我想我在这里遗漏了一些基本的东西,但是在搜索互联网很长一段时间后,我还没有找到答案。有谁知道应该如何在urlretrieve()方法中表示相对文件路径?
嘿伙计们,我正在尝试使用BeautifulSoup获取图像但是这样做时我收到错误:
这是我的代码:
imgUrl = "https://www.residentadvisor.net/images/events/flyer/2017/7/no-0713-986042-front.jpg"
try:
urlretrieve(imgUrl, "testPhytonImg.jpg")
except FileNotFoundError as err:
print("something wrong with local path")
print(err) # something wrong with local path
except HTTPError as err:
print("something wrong with url")
print(err) # something wrong with url
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
HTTP Error 403: Forbidden
我之所以得到这个?由于我做了什么或是否有另一种方法,对图像的访问是否被阻止?