python实现下载大文件_如何在python2中下载大文件

使用mechanize模块尝试下载1GB的大文件,但遇到问题。文件位于私有区域,需要先登录。登录后,在下载512MB时出错。寻求解决方案,可能是实现断点续传或处理下载错误。
摘要由CSDN通过智能技术生成

我试图用mechanize模块下载大文件(大约1GB),但我没有成功。我一直在搜索类似的线程,但是我只找到了那些文件可以公开访问,并且不需要登录就可以获得文件的线程。但这不是我的情况,因为文件位于私有部分,我需要在下载之前登录。以下是我迄今为止所做的。在import mechanize

g_form_id = ""

def is_form_found(form1):

return "id" in form1.attrs and form1.attrs['id'] == g_form_id

def select_form_with_id_using_br(br1, id1):

global g_form_id

g_form_id = id1

try:

br1.select_form(predicate=is_form_found)

except mechanize.FormNotFoundError:

print "form not found, id: " + g_form_id

exit()

url_to_login = "https://example.com/"

url_to_file = "https://example.com/download/files/filename=fname.exe"

local_filename = "fname.exe"

br = mechanize.Browser()

br.set_handle_robots(False) # ignore robots

br.set_handle_refresh(False) # can sometimes hang without this

br.addheaders = [('User-agent', 'Firefox')]

response = br.open(url_to_login)

# Find login form

select_form_with_id_using_br(br, 'login-form')

# Fill in data

br.form['email'] = 'email@domain.com'

br.form['password'] = 'password'

br.set_all_readonly(False) # allow everything to be written to

br.submit()

# Try to download file

br.retrieve(url_to_file, local_filename)

下载512MB时出现错误:

^{pr2}$

你有什么办法解决这个问题吗?

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值