[使用python3的HTTP检索

问题描述 投票:0回答:3
import os
import urllib.request 


foldername="test_1"
os.makedirs(str(foldername))
tempurl=r"http://img2.wikia.nocookie.net/__cb20130802012237/camp-tv-series/images/thumb/e/e5/Adam.jpg/250px-Adam.jpg"

fullpath1=r"C:\Users\\files"+foldername
urllib.request.urlretrieve(tempurl, fullpath1)

此代码正在创建文件夹,但未检索文件。如果我给出绝对路径而不是全路径,它将起作用。我错过了什么

最初,我提供了一个测试网址。现在,我举一个绝对URL的示例

python
3个回答
0
投票

问题是您正在执行urllib.request.urlretrieve(tempurl, fullpath1),其中fullpath未指定要检索的实际文件,请将其更改为 urllib.request.urlretrieve(tempurl, os.path.join(fullpath1,"adam.jpg"))

此外,您使用相对路径创建目录,然后使用绝对路径引用它吗?坚持一个。除此之外,您还在将字符串转换为字符串吗?不要那样做,它已经是字符串。另外,避免使用硬编码的路径。完整解决方案:

import os
import urllib.request 


foldername="test_1"
os.makedirs(foldername, exist_ok=True)
tempurl="http://img2.wikia.nocookie.net/__cb20130802012237/camp-tv-series/images/thumb/e/e5/Adam.jpg/250px-Adam.jpg"
urllib.request.urlretrieve(tempurl, os.path.join(foldername,"adam.jpg"))

0
投票

请尝试使用此代码,您需要使用正确的名称

import os
import urllib.request


foldername ="tesd"
os.makedirs(str(foldername)



tempurl =r"https://f1.media.brightcove.com/8/1078702682/1078702682_6004950245001_6004956161001-vs.jpg"

archive_path, headers = urllib.request.urlretrieve(tempurl ,foldername+"/"+str(tempurl.split("/")[-1]), data=None)

0
投票

尝试此操作,您需要使用正确的名称

import os
import urllib.request


foldername ="tesd"
if os.makedirs(str(foldername)):
    pass

local_path = os.path.join("/")
tempurl =r"https://f1.media.brightcove.com/8/1078702682/1078702682_6004950245001_6004956161001-vs.jpg"

archive_path, headers = urllib.request.urlretrieve(tempurl ,foldername+"/"+str(tempurl.split("/")[-1]), data=None)
© www.soinside.com 2019 - 2024. All rights reserved.