python爬虫(Python读取TXT文件中的URL并下载,以下载图片为例)

# -*- 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 = ['pig'] #文件夹下的类别,比如 lion.txt;pig.txt:则此处就填写 'lion','pig'
    for category in categories:
        # 新建存储ladder文件夹存储图片
        os.makedirs(r'D:\py-project\pig\%s' % category, exist_ok=True)
        # 读取txt文件
        with open(r'D:\py-project\pig\%s.txt' % category, 'r') as file:
            urls = file.readlines()
            # 计算链接地址条数
            n_urls = len(urls)
            # 遍历链接地址下载图片
            for i, url in enumerate(urls):
                q = i + 16673+7+46+47+350

                try:
                     # 请求下载图片,并截取最后链接第一最后一节字段命名图片
                     urlretrieve(url,r'D:\py-project\pig\pig\%d.jpg' %q)#按照序号给图片命名
                     # urlretrieve(url.strip(), r'D:\py-project\pig\%s\%s' % (category, url.strip().split('/')[-1]))
#截取url最后一个字节给图片命名
                     print('%s %i/%i' % (category, i, n_urls))
                     print(url)
                except:
                     print('%s %i/%i' % (category, i, n_urls), 'no image')

if __name__ == '__main__':
    download();

 

你可能感兴趣的:(代码阅读)