gpt_academic icon indicating copy to clipboard operation
gpt_academic copied to clipboard

[Feature]: 从arxiv上下载文件,配置国内访问加速,并增加进度条显示

Open ruianlc opened this issue 1 year ago • 0 comments

Class | 类型

程序主体

Feature Request | 功能请求

直接使用原始arxiv_download代码,经常出现从网站下载文件失败的状况,建议配置国内访问加速。比较简易的更改方式是在requests.get请求参数中增加headers,配置方法为:

url = file_url
headers = {
    'User-Agent': 'Lynx'
}

response = requests.get(url, headers=headers,  stream=True)

另外,增加进度条可直观显示下载进度,可通过以下代码实现:

total_size = int(response.headers.get('content-length', 0))  # 获取文件总大小
    block_size = 1024  # 每次下载的块大小

    # 使用 tqdm 创建进度条
    with open(filename, 'wb') as file, tqdm(
        desc=filename,
        total=total_size,
        unit='iB',
        unit_scale=True,
        unit_divisor=1024,
    ) as bar:
        for data in response.iter_content(block_size):
            file.write(data)  # 写入文件
            bar.update(len(data))  # 更新进度条

ruianlc avatar Aug 02 '24 04:08 ruianlc