[Anonymous GitHub]代码下载方法,一次性全下载

这篇具有很好参考价值的文章主要介绍了[Anonymous GitHub]代码下载方法,一次性全下载。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 工具分享:

https://github.com/kynehc/clone_anonymous_github​github.com/kynehc/clone_anonymous_github

  • 注意:下载链接格式一定要确保结尾有个/

注意:下载链接格式要弄成readme之前的链接:例如下面的链接:

https://anonymous.4open.science/r/GraphCL-7105/README.md/

你应该写为:

 https://anonymous.4open.science/r/GraphCL-7105/

[Anonymous GitHub]代码下载方法,一次性全下载,红外线、3D、等杂项,github,python,开发语言

使用:

注意原来的代码有问题,用我这个文章来源地址https://www.toymoban.com/news/detail-647940.html

python download.py --url https://anonymous.4open.science/r/GraphCL-7105/ --dir data/
import argparse
import time

import requests
import os
from time import sleep
import concurrent.futures


def parse_args():
    parser = argparse.ArgumentParser(description='Clone from the https://anonymous.4open.science')
    parser.add_argument('--dir', type=str, default='master',
                        help='save dir')
    parser.add_argument('--url', type=str,
                        help='target anonymous github link eg., https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/')
    parser.add_argument('--max-conns', type=int, default=128,
                        help='max connections number')
    return parser.parse_args()


def dict_parse(dic, pre=None):
    pre = pre[:] if pre else []
    if isinstance(dic, dict):
        for key, value in dic.items():
            if isinstance(value, dict):
                for d in dict_parse(value, pre + [key]):
                    yield d
            else:
                yield pre + [key, value]
    else:
        yield pre + [dic]


def req_url(dl_file, max_retry=5):
    url = dl_file[0]
    save_path = dl_file[1]
    save_dir = '/'.join(save_path.split('/')[:-1])
    if not os.path.exists(save_dir) and save_dir:
        try:
            os.makedirs(save_dir)
        except OSError:
            pass

    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15"
    }
    for i in range(max_retry):
        try:
            r = requests.get(url, headers=headers)
            with open(save_path, "wb") as f:
                f.write(r.content)
            return
        except Exception as e:
            print('file request exception (retry {}): {} - {}'.format(i, e, save_path))
            sleep(0.4)


if __name__ == '__main__':
    args = parse_args()
    assert args.url, '\nPlese specifipy your target anonymous github link, \n e.g:    ' \
                     + 'python download.py --target https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/'

    url = args.url
    name = url.split('/')[-2]
    max_conns = args.max_conns

    print("[*] cloning project:" + name)

    list_url = "https://anonymous.4open.science/api/repo/" + name + "/files/"
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15"
    }
    resp = requests.get(url=list_url, headers=headers)
    file_list = resp.json()

    print("[*] downloading files:")

    dl_url = "https://anonymous.4open.science/api/repo/" + name + "/file/"
    files = []
    out = []
    for file in dict_parse(file_list):
        file_path = os.path.join(*file[-len(file):-2])  # * operator to unpack the arguments out of a list
        save_path = os.path.join(args.dir, file_path)
        file_url = dl_url + file_path
        files.append((file_url, save_path))

    with concurrent.futures.ThreadPoolExecutor(max_workers=max_conns) as executor:
        future_to_url = (executor.submit(req_url, dl_file) for dl_file in files)
        for future in concurrent.futures.as_completed(future_to_url):
            time.sleep(2)
            try:
                data = future.result()
            except Exception as exc:
                data = str(type(exc))
            finally:
                out.append(data)

                print("The current file is :", str(len(out)), end="\r")


    print("[*] files saved to:" + args.dir)

到了这里,关于[Anonymous GitHub]代码下载方法,一次性全下载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Github上代码下载慢怎么办?开启代理

    国内访问Github的网络真是一言难尽,有时候要下载个比较大的源码,例如Spring的源码,下个半天也没有下载下来。 这时候需要使用一些手段来帮助我们加快源码的下载。 方案一 使用代理的方式加快下载 首先你需要有科学上网的能力,在电脑上开启了科学上网之后,配置Gi

    2024年02月07日
    浏览(35)
  • CMakeLists中下载github仓库代码和设置代理

    在编译大型项目时,往往会遇到在CMakeLists.txt文件中下载github依赖仓库的现象。 但是因为墙的原因,直接下载不了代码导致编译报错。 可以通过设置代理解决。 但是如果你是在docker中编译时,情况又会变得复杂,设置代理会报”Failed to connect to 127.0.0.1 port 8082 after 0 ms: Conne

    2024年03月22日
    浏览(33)
  • python拷贝漫画下载爬虫(附代码github链接)

    先附上github链接:GitHub - muzi-xiaoren/kaobei_Crawler: 拷贝漫画爬虫 主要使用selenium库模拟浏览器来获取kaobei动态加载的html页面。 用BeautifulSoup进行解析。然后传入函数先获取url。 将url传入get.py中使用多线程编程加快下载速率 下面是具体函数及使用方法。 download.py 和 get.py 是方法函

    2024年02月03日
    浏览(55)
  • GitHub下载克隆clone指定的分支tags代码

    github上有很多tag分支版本的代码,我想克隆下载指定版本到我服务器上面 例如:我想下载tag:v2.0.2的代码 命令: git clone -b [tags标签] [git地址] 例如:git clone -b v2.0.2 https://github.com/spring-projects/spring-retry.git 若想对克隆后的项目重命名则可执行以下命令 git clone -b [tags标签] [git地

    2024年02月06日
    浏览(40)
  • 不用下载APP!三行代码解决Github的2FA验证!

    一定要保存好你的secret和恢复码!!登录的时候会用到!!!! 一定要保存好你的secret和恢复码!!登录的时候会用到!!!! 一定要保存好你的secret和恢复码!!登录的时候会用到!!!! 1.取到密钥  2.       将代码中secret部分替成刚刚取到的密钥,生成code!  一定要

    2024年02月11日
    浏览(28)
  • 使用Git将代码传送(更新或者下载到本地)到github/gitee

    目录 一.上传到Github(从0开始) 1.下载git 2.初始化 1、git init  2、git add . 3、git status  4、git remote  5、git  commit 6、git push list master ​编辑7、输入tokens 二、上传到Gitee 三、日常使用的一些操作 1、远程仓库的代码更新到本地 2、对于分支的处理 3、无法新建分支 4、将远程的分

    2023年04月08日
    浏览(50)
  • 【工具】Github统计代码行数工具推荐(VScode插件、兼容任何平台、不用下载安装包)

    需求: 1)被要求统计代码行数; 2)不想打开Linux,懒得下载Windows版本GitStats; 3)打开了Linux但也不记得find命令行怎么用; 4)打开了Linux,装好了Gitstats但自己没有图形化界面所以无法打开其输出结果; 5)习惯用VScode编程。 其他工具: 1)Linux愿意使用Gitstats的请直接转到

    2024年02月05日
    浏览(43)
  • 谷歌发布Self-Debug方法,让大模型学会自己修bug,一次性生成正确代码

    文 | 智商掉了一地 你有没有想过,让一台计算机诊断和修复自己生成的错误代码?一篇最新的研究论文介绍了一种名为 Self-Debugging 的技术,通过在生成的代码中添加自解释的信息,让计算机像一个可以自己修复代码的程序员一样调试自己的 BUG。 随着大型语言模型(LLMs)在

    2023年04月19日
    浏览(62)
  • 如何把本地项目一次性上传github(避免一个一个上传)

    一、方法如下(亲测两次有效): 如何把本地项目上传github_本地已有工程上传github-CSDN博客  执行成功截图如下: 二、如果按照上面链接遇到问题: 问题0: 上面链接方法最后一步执行后,提示不能访问github 解决方法:再重新执行一遍代码即可(中间遇到重复创建和已存在

    2024年01月22日
    浏览(52)
  • 【SA8295P 源码分析】83 - SA8295P HQNX + Android 完整源代码下载方法介绍

    因为一些原因,本文需要移除, 对于已经购买的兄弟,不用担心,不是跑路, 我会继续持续提供技术支持, 有什么模块想学习的,或者有什么问题有疑问的, 请私聊我,我们 +VX 沟通技术问题

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包