IDM下载ASF文件

2 篇文章 0 订阅
订阅专栏

第一次写文章,界面不太好看,还请见谅。
#######################################################################
虽然ASF网站提供了python批下载的脚本,但是不知道是由于网络原因还是我的python脚本不对,下载经常中断,有时候甚至运行了一天一个文件也没有下下来,一个一个的手动下载又太麻烦。所以使用IDM下载器进行批量下载。
这里面的第一个问题是url链接,我们直接输入python脚本中的链接是无法运行的,需要修改download_file_with_cookiejar函数,我修改后的代码如下:(将test打印的列表放到IDM)

 def download_file_with_cookiejar(self, url, file_count, total, recursion=False):
       test=[]
       # see if we've already download this file and if it is that it is the correct size
       download_file = os.path.basename(url).split('?')[0]
       if os.path.isfile(download_file):
          try:
             request = Request(url)
             request.get_method = lambda : 'HEAD'
             response = urlopen(request, timeout=30)
             remote_size = self.get_total_size(response)
             # Check that we were able to derive a size.
             if remote_size:
                 local_size = os.path.getsize(download_file)
                 if remote_size < (local_size+(local_size*.01)) and remote_size > (local_size-(local_size*.01)):
                     print (" > Download file {0} exists! \n > Skipping download of {1}. ".format(download_file, url))
                     return None,None
                 #partial file size wasn't full file size, lets blow away the chunk and start again
                 print (" > Found {0} but it wasn't fully downloaded. Removing file and downloading again.".format(download_file))
                 os.remove(download_file)

          except ssl.CertificateError as e:
             print (" > ERROR: {0}".format(e))
             print (" > Could not validate SSL Cert. You may be able to overcome this using the --insecure flag")
             return False,None

          except HTTPError as e:
             if e.code == 401:
                 print (" > IMPORTANT: Your user may not have permission to download this type of data!")
             else:
                 print (" > Unknown Error, Could not get file HEAD: {0}".format(e))

          except URLError as e:
             print ("URL Error (from HEAD): {0}, {1}".format( e.reason, url))
             if "ssl.c" in "{0}".format(e.reason):
                 print ("IMPORTANT: Remote location may not be accepting your SSL configuration. This is a terminal error.")
             return False,None
       for url in self.files:
       # attempt https connection
           try:
              request = Request(url)
              response = urlopen(request, timeout=30)

          # Watch for redirect
              if response.geturl() != url:

                 # See if we were redirect BACK to URS for re-auth.
                 if 'https://urs.earthdata.nasa.gov/oauth/authorize' in response.geturl():

                     if recursion:
                         print (" > Entering seemingly endless auth loop. Aborting. ")
                         return False, None

                     # make this easier. If there is no app_type=401, add it
                     new_auth_url = response.geturl()
                     print("lalalalal")
                     print(new_auth_url)
                     if "app_type" not in new_auth_url:
                         new_auth_url += "&app_type=401"

                     print (" > While attempting to download {0}....".format(url))
                     print (" > Need to obtain new cookie from {0}".format(new_auth_url))
                     old_cookies = [cookie.name for cookie in self.cookie_jar]
                     opener = build_opener(HTTPCookieProcessor(self.cookie_jar), HTTPHandler(), HTTPSHandler(**self.context))
                     request = Request(new_auth_url)
                     try:
                         response = opener.open(request)
                         for cookie in self.cookie_jar:
                             if cookie.name not in old_cookies:
                                  print (" > Saved new cookie: {0}".format(cookie.name))

                                  # A little hack to save session cookies
                                  if cookie.discard:
                                       cookie.expires = int(time.time()) + 60*60*24*30
                                       print (" > Saving session Cookie that should have been discarded! ")

                         #self.cookie_jar.save(self.cookie_jar_path, ignore_discard=True, ignore_expires=True)
                     except HTTPError as e:
                         print ("HTTP Error: {0}, {1}".format( e.code, url))
                         return False,None

                     # Okay, now we have more cookies! Lets try again, recursively!
                     print (" > Attempting download again with new cookies!")

                     return self.download_file_with_cookiejar(url, file_count, total, recursion=True)
                 print (" > 'Temporary' Redirect download @ Remote archive:\n > {0}".format(response.geturl()))
                 test.append(response.geturl())
                 print(test)

          # seems to be working
              #print ("({0}/{1}) Downloading {2}".format(file_count, total, url))

              # Open our local file for writing and build status bar
              # tf = tempfile.NamedTemporaryFile(mode='w+b', delete=False, dir='.')
              # self.chunk_read(response, tf, report_hook=self.chunk_report)
              #
              # # Reset download status
              # sys.stdout.write('\n')
              #
              # tempfile_name = tf.name
              # tf.close()

       #handle errors
           except HTTPError as e:
              # print ("HTTP Error: {0}, {1}".format( e.code, url))
              #
              # if e.code == 401:
              #    print (" > IMPORTANT: Your user does not have permission to download this type of data!")
              #
              # if e.code == 403:
              #    print (" > Got a 403 Error trying to download this file.  ")
              #    print (" > You MAY need to log in this app and agree to a EULA. ")
              #
              return

在这里插入图片描述

然后就可以啦!!
新人求关注!

IDM下载时遇到的问题:总是下载网页怎么办?IDM安装包分享,常用的批量下载哨兵数据方法
qq_45241385的博客
04-23 6100
IDM下载时总是下载网页怎么办?IDM安装包分享,常用的批量下载哨兵数据方法
asf 文件格式文档
09-24
asf 文件格式文档,asf文件结构说明等,英文版
Atmel MCU Advanced Software Framework (ASF) 下载地址
SYC的博客
07-23 1334
https://www.microchip.com/mplab/avr-support/avr-and-sam-downloads-archive
解决IDM批量下载ASF网站数据,捕捉(下载)的为网页问题
最新发布
qq_42797251的博客
11-16 762
IDM 下载的为网页文件ASF网站数据
【InSAR 笔记1】ASF网站哨兵一号批量下载
qq_45110581的博客
05-12 3551
加入下载筐 -> 打开下载筐 -> 下载.py文件 -> 运行.py文件 -> 输入用户名和密码 ASF 下载网站 python download-all-2020-05-12_05-45-57.py
哨兵一号数据下载教程,IDM下载哨兵数据下载的都是网页文件?附idm链接。
wwwhhite的博客
07-21 3788
全网最详细的哨兵数据下载
idm下载器单文件
01-25
idm下载器 小巧轻便功能强悍 是一款一举多得的下载型应用软件 可以和迅雷一拼 配合多线程技术让您的某度网盘达到百兆速度
下载利器 IDM 可升级 不修改文件
11-04
安装 Internet 下载管理器 (IDM) ...您会真正惊讶于 IDM 下载文件的速度。IDM 无缝集成到 Google Chrome、FireFox、Microsoft Edge、Opera、Safari、Internet Explorer、AOL、MSN、Maxthon 和所有其他流行的浏览器中。
IDM 下载神器 非常好用
07-24
IDM 下载神器
python实现的类IDM高速下载程序
07-04
使用python多线程实现的类IDM下载程序,具有不限网速,速度快等特点,有一定的参考价值,模拟多线程文件IO下载,百行代码左右实现一个快速下载工具。
15种测试视频文件和13种测试音频文件
04-02
文件包含常见的15种视频文件(avi/mp4/flv/wmv/vob/rmvb...)和13种音频文件(mp3/mp2/ogg/wav/m4a...)。长度大概在10秒左右,用于常规测试,欢迎大家下载
各种格式的音频测试文件
03-20
音频格式包括 mp3、wav、caf、aif、m4a、m4r,主要用于测试音频播放等功能。
使用IDM配合下载受保护的音视频文件
08-27
可以下载IDM无法下载此受保护的数据。对于这些受保护的音频、视频和数据IDM可能无法通过相应的技术测试,因此IDM不支持下载此类内容。可以支持下载m3u8文件
利用python脚本批量自动下载Sentinel-1(哨兵1号)数据
m0_60086135的博客
06-02 2019
哨兵数据批量下载
哨兵-1 Sentinel-1数据下载ASF
热门推荐
Vigo*GIS
04-09 2万+
Sentinel-1数据下载1、Sentinel-1 数据简介2、Sentinel-1 数据下载步骤2.1在ASF下载Sentinel-1数据2.1.1网站页面介绍2.1.2 数据下载步骤 1、Sentinel-1 数据简介 Sentinel-1 由 Sentinel-1A 和 Sentinel-1B 两颗卫星组成的星座,它们共享相同的轨道平面,轨道相位差为 180°。 该任务为地球的连续雷达测绘提供了独立的操作能力,并为需要长时间序列的操作服务和应用程序提供了增强的重访频率、覆盖范围、及时性和可靠性.
RADARSAT-1数据下载
qq_49163550的博客
04-25 2586
RADARSAT-1 加大拿网站数据下载
ASF网站使用教程——Sentinel-1数据下载为例
m0_66154685的博客
08-10 1万+
ASF网站使用教程——Sentinel-1数据下载为例
IDM批量下载Earthdata上的哨兵数据(规避数据为HTML)
欢迎来到“测不绘的返工小渠”的博客!
03-22 1645
摘要:1.IDM安装;2.IDM配置;3.IDM下载哨兵过程(规避下载为HTML方法)
IDM下载百度网盘文件
07-28
IDM是一款非常受欢迎的下载管理软件,它可以替代浏览器的原生下载功能,并且支持多线程下载和智能动态文件分段技术,可以大大提高下载速度。对于想要使用IDM下载百度网盘文件的用户,可以按照以下步骤进行操作: 1....

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • TS-InSAR原理与应用(概括) 873
  • IDM下载ASF文件 712

分类专栏

  • insar 2篇

最新评论

  • IDM下载ASF文件

    weixin_52821683: 你好,这个代码怎样将链接放到IDM里呢

  • TS-InSAR原理与应用(概括)

    CSDN-Ada助手: 非常感谢您的分享,您的博客对于那些对TS-InSAR技术感兴趣的读者来说是非常有价值的。除了您提到的TS-InSAR原理和应用,还有一些相关的知识和技能可能也会对读者有所帮助,例如:遥感影像处理、数字信号处理、地球物理学等。期待您在以后的文章中能够更加深入地探讨这些主题。继续加油! 如何写出更高质量的博客,请看该博主的分享:https://blog.csdn.net/lmy_520/article/details/128686434?utm_source=csdn_ai_ada_blog_reply2

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • TS-InSAR原理与应用(概括)
2023年1篇
2021年1篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

哆哆女性网氵字旁的字有哪些适合起名大全给杨氏宝宝起名幼儿园起名字守卫剑阁下载韩姓起名名字大全脑陆科技吕姓女孩起名有诗意一句禅语道尽人生下载起名软件猴的生肖起名八恶人字幕笔记本电脑没有声音姓肖取名起名大全贾姓男宝宝起名甜瓜起名新婚快乐祝福语750鸭血粉丝加盟电脑自动免费起名男婴起什么名好传奇起名包姓起名100分的名字8月14铁马少年木命咋起名字澄海3c5.45家政起名招财的名字少年包青天3演员表起个好听的店铺名环保公司起名网免费取名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化