使用python3的HTTP检索

2024-05-05 02:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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)

此代码正在创建文件夹,但不检索文件。 如果我给出的是obsolute path而不是fullpath,它就可以工作。我错过什么了吗

最初我给出了一个测试url。现在我给出一个obsoluteurl的例子


Tags: testimporthttposrequesturllibjpgimg2
2条回答

试试这个代码,它正在工作,你需要使用一个正确的名字

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)

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

此外,您使用相对路径来创建目录,然后使用绝对路径来引用它?坚持一个。除此之外,你还要把一个字符串转换成一个字符串?别这样,这已经是一根绳子了。另外,避免使用硬编码路径。 完整解决方案:

import os
from urllib.request import urlretrieve as get

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

相关问题 更多 >