gpt4 book ai didi

python - 如何让下载管理器更强大?

转载 作者:太空宇宙 更新时间:2023-11-03 19:25:20 25 4
gpt4 key购买 nike

我制作了这个简单的下载管理器,但问题是当页面重定向时,它无法在复杂的 URL 上工作。

def str(d):
for i in range(len(d)):
if d[-i] == '/':
x=-i
break
s=[]
l=len(d)+x+1
print d[l],d[len(d)-1]

s=d[l:]


return s

import urllib2
url=raw_input()
filename=str(url)
webfile = urllib2.urlopen(url)
data = webfile.read()
fout =open(filename,"w")
fout.write(data)
fout.close()
webfile.close()

它不适用于 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&ved=0CG0QFjAI&url=http%3A%2F%2Fwww.iasted.org%2Fconferences%2Fformatting%2FPresentations-Tips.ppt&ei=clfWTpjZEIblrAfC8qWXDg&usg=AFQjCNEIgqx6x4ULHFXzzYDzCITuUJOczA&sig2=0VtKXPvoDnIq-lIR4S9LEQ

虽然它适用于 http://www.iasted.org/conferences/formatting/Presentations-Tips.ppt

两个链接都针对同一个文件。

如何解决重定向问题

最佳答案

我认为重定向在这里不是问题:由于 urllib2 已经自动遵循重定向,因此 google 会在出现错误时重定向到页面。

尝试这个脚本:

url1 = 'http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&ved=0CG0QFjAI&url=http%3A%2F%2Fwww.iasted.org%2Fconferences%2Fformatting%2FPresentations-Tips.ppt&ei=clfWTpjZEIblrAfC8qWXDg&usg=AFQjCNEIgqx6x4ULHFXzzYDzCITuUJOczA&sig2=0VtKXPvoDnIq-lIR4S9LEQ'

url2 = 'http://www.iasted.org/conferences/formatting/Presentations-Tips.ppt'

from urlparse import urlsplit
from urllib2 import urlopen

for url in [url1, url2]:
split = urlsplit(url)
filename = split.path[split.path.rfind('/')+1:]
if not filename:
filename = split.query[split.query.rfind('/')+1:]
f = open(filename, 'w')
f.write(urlopen(url).read())
f.close()

# Yields 2 files : url and Presentations-Tips.ppt [Both are ppt files]

上面的脚本每次都有效。

关于python - 如何让下载管理器更强大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com