美文网首页
Python读取TXT文件中的URL并下载文件

Python读取TXT文件中的URL并下载文件

作者: myFamily329 | 来源:发表于2018-11-06 11:04 被阅读0次
    说明: 上一篇只是把image表格存入到数据库,后序又存入了classname表格,bbox表格等,通过连接查询最终获取到想要的所有url地址。采用简单粗糙的方法,把获取到的url地址全部存储到txt文件中,之后通过读取txt文件中的内容下载图片到本地。
    1.前提说明
    • ladder.txt


      ladder链接样式
    2.出现问题

    urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>
    解决参考:
    https://stackoverflow.com/questions/49183801/ssl-certificate-verify-failed-with-urllib
    所以最后的程序为:

    # -*- coding: utf-8 -*-
    #  根据图片链接列表获取图片保存到本地
    
    from urllib.request import urlretrieve
    import os
    # 解决
    import ssl
    
    ssl._create_default_https_context = ssl._create_unverified_context
    
    '''
    通过txt网址文件,现在图片到本地
    '''
    def download():    
        categories = ['ladder']
        for category in categories:
            # 新建存储ladder文件夹存储图片
            os.makedirs('data/%s' % category, exist_ok=True)
            # 读取txt文件
            with open('%s.txt' % category, 'r') as file:
                urls = file.readlines()
                # 计算链接地址条数
                n_urls = len(urls)
                # 遍历链接地址下载图片
                for i, url in enumerate(urls):
                    try:
                         # 请求下载图片,并截取最后链接第一最后一节字段命名图片
                         urlretrieve(url.strip(), 'data/%s/%s' % (category, url.strip().split('/')[-1]))
                         print('%s %i/%i' % (category, i, n_urls))
                    except:
                         print('%s %i/%i' % (category, i, n_urls), 'no image')
    
    if __name__ == '__main__':
        download();
    
    3. 补充说明

    其实在刚运行代码时,总是进入except运行,之后在测试过程中print(url.strip())都是可以打印出正确的链接地址,点击链接也可以查看到图片,所以就测试直接打印 print( urlretrieve(url.strip(), 'data/%s/%s' % (category, url.strip().split('/')[-1]))), 此时输出错误:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>

    4.参考

    https://stackoverflow.com/questions/49183801/ssl-certificate-verify-failed-with-urllib
    https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/5-16-transfer-learning/

    相关文章

      网友评论

          本文标题:Python读取TXT文件中的URL并下载文件

          本文链接:https://www.haomeiwen.com/subject/anbyxqtx.html