博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python下载网页上公开数据集
阅读量:4340 次
发布时间:2019-06-07

本文共 1861 字,大约阅读时间需要 6 分钟。

URL很简单,数据集分散开在一个URL页面上,单个用手下载很慢,这样可以用python辅助下载;

问题:很多国外的数据集,收到网络波动的影响很大,最好可以添加一个如果失败就继续请求的逻辑,这里还没有实现;

 

参考链接:

代码都是这位大神的,感谢,我再上面稍微改了一点点,加了异常处理。

 

'''downloading dataset on one html page'''import requestsfrom bs4 import BeautifulSouparchive_url = your_target_urldef get_target_links():    r = requests.get(archive_url)    soup = BeautifulSoup(r.content, 'html5lib')    links = soup.findAll('a')    video_links = []        #video_links = [archive_url + link['href'] forlink in links if (link['href'].endswith('atr') or link['href'].endswith('dat') or link['href'].endswith('hea') )]    for link in links:        try:            if((link['href'].endswith('atr') or link['href'].endswith('dat') or link['href'].endswith('hea') )):                video_links.append(archive_url + link['href'])        except KeyError:            print('keyerror, keep going!')    for i in video_links:        print(i, '\n')    return video_linksdef download_target_series(video_links):    failed_list = []     for link in video_links:        file_name = link.split('/')[-1]        file_name = ‘your_local_folder’ + file_name        print("Downloading file:%s" % file_name)        print(link)        try:            r = requests.get(link, stream=True)        except Exception:            failed_list.append(file_name.split('\\')[-1])            print('download failed. go to down next one\n')        # download started        with open(file_name, 'wb') as f:            for chunk in r.iter_content(chunk_size=1024 * 1024):                if chunk:                    f.write(chunk)        print("%s downloaded!\n" % file_name)    print("All videos downloaded!")    print(failed_list) #record which one is failed to download    returnif __name__ == "__main__":    target_links = get_target_links()    download_target_series(target_links)

 

转载于:https://www.cnblogs.com/robin2ML/p/9946489.html

你可能感兴趣的文章
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>
CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
查看>>
使用正确的姿势跨域
查看>>
AccountManager教程
查看>>
Android学习笔记(十一)——从意图返回结果
查看>>
算法导论笔记(四)算法分析常用符号
查看>>
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>
亿级曝光品牌视频的幕后设定
查看>>