使用python下载Pixiv图片

· Special

在下载时使用header参数中的Referer绕或过pixiv下载限制。

  1. 添加下载百分比显示

frieren
frieren1

import sys
import os
import requests

#将pixiv下载图片参数放到F盘pixiv文件夹
#将下载路径拼接

download_path = os.path.join(r'F:\pixiv\pixiv')
dl_link = sys.argv[1]

#下载函数
def download_pic(link):
    data = requests.get(url=link, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36','Referer': "https://www.pixiv.net/"},)
    return data

#储存函数
def save_pic(dl_name):
    #获取下载名称
    #下载位置

    dl_path = os.path.join(download_path, dl_name)
    def inner(dl_content):
        print('开始下载')
        all_dl_size = int(dl_content.headers['Content-Length'])
        len_size = 0
        with open(dl_path, 'wb') as f:
            # f.write(dl_content)
            # f.close()
            # print('保存完毕')
            for chunk in dl_content.iter_content(chunk_size=1024):
                len_size += len(chunk)
                f.write(chunk)
                f.flush()
                print(f'\r{round(len_size / all_dl_size * 100, 2)}%', end='')
                print('percent',end='')

    return inner

def run():
    # 获取名称
    user_input_name = input('请输入图片名称:').strip()
    sv = save_pic(user_input_name)
    sv(download_pic(dl_link))

if __name__ == '__main__':
    run()




python · pixiv


评论

行为验证™ 安全组件加载中...