在下载时使用header参数中的Referer绕或过pixiv下载限制。
- 添加下载百分比显示


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()