首页 > 其他分享 >半自动批量Fork Star仓库

半自动批量Fork Star仓库

时间:2023-04-02 17:24:43浏览次数:36  
标签:Fork fork Star url forker 半自动 print star message


import requests
import json
import time

forker_name = "USERNAME1"  # fork到这个用户里
forker_pwd = "PASSWORD"  # personal access token
interval = 10  # 每个仓库fork的时间间隔,单位:秒
urls_file = 'URLs.txt' # 存放用户仓库地址列表的外部文件名

####################################################################
####################################################################
####################################################################

repository_urls = []

# 将所有获取到的地址读进来(不要频繁获取用户仓库列表,否则会被限制IP)
with open(urls_file, 'r') as f:
    # 逐行读取文件中的 URL
    for line in f.readlines():
        # 处理读取到的 URL
        url = line.strip() # 去掉每一行的换行符

        # 在这里可以将 URL 传递给其他函数进行处理,例如进行 HTTP 请求等等
        print("Processing URL:", url)
        repository_urls.append(url)


# 使用GitHub API将每个仓库fork到你的GitHub账户中,并同时star
for url in repository_urls:
    ### print(url)
    # 从URL中解析出owner和repo名称
    splitted_str_arr = url.split("/")
    owner = splitted_str_arr[len(splitted_str_arr) - 2]
    repo = splitted_str_arr[len(splitted_str_arr) - 1]
    print(f"Start forking {repo}...")

    ##################################################################
    # 发送API请求以fork仓库
    api_url_fork = f"https://api.github.com/repos/{owner}/{repo}/forks"
    response_fork = requests.post(api_url_fork, auth=(forker_name, forker_pwd))

    # 检查响应状态码和JSON响应中的信息
    if response_fork.status_code == 202:
        print(f"Successfully forked {url}.")
    else:
        error_message = json.loads(response_fork.content)["message"]
        print(f"Failed to fork {url}. Error message: {error_message}")
    time.sleep(interval)

    ##################################################################
    # 发送API请求以star仓库
    api_url_star = f"https://api.github.com/user/starred/{owner}/{repo}"
    response_star = requests.put(api_url_star, auth=(forker_name, forker_pwd))

    # 检查响应状态码和JSON响应中的信息
    if response_star.status_code == 204:
        print(f"Successfully starred {url}.")
    else:
        error_message = json.loads(response_star.content)["message"]
        print(f"Failed to star {url}. Error message: {error_message}")
    time.sleep(interval + 1)




作者:艾孜尔江

标签:Fork,fork,Star,url,forker,半自动,print,star,message
From: https://www.cnblogs.com/ezhar/p/17280816.html

相关文章

  • 批量Star仓库
    importrequestsimportjsonimporttimename="USERNAME"#Githubusernamepwd="PASSWORD"#personalaccesstoken#要star的仓库地址列表repository_urls=["https://github.com/Ezharjan/X-PostProcessing-Library","h......
  • 批量Fork仓库
    importrequestsimportjsonimporttimename="USERNAME"#Githubusernamepwd="PASSWORD"#personalaccesstoken#要fork的仓库地址列表repository_urls=["https://github.com/Ezharjan/X-PostProcessing-Library","h......
  • springboot-自己开发start
    步骤命名规范第三方在建立自己的Starter的时候命名规则统一用xxx-spring-boot-starter,官方提供的Starter统一命名方式为spring-boot-starter-xxx。步骤新建一个Maven项目,在pom.xml文件中定义好所需依赖;新建配置类,写好配置项和默认值,使用@ConfigurationProperties指明......
  • PXE+Kickstart无人值守安装
    1、概述PXE(prebootexecuteenvironment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivialfiletransferprotocol)或MTFTP......
  • Project 'org.springframework.boot:spring-boot-starter-parent:XXX' not found
    问题:Project'org.springframework.boot:spring-boot-starter-parent:XXX'notfound当spring-boot-starter-parent下面的版本报红时并不是这个版本不存在,而是因为idea会默认缓存Maven本地仓库已存在的中的依赖项。只是我们引入的的父依赖版本在本地仓库中不存在,所以就报......
  • MySQL安装 starting the server解决办法
    https://blog.csdn.net/qq_52183856/article/details/123792012主要原因:......
  • 什么是kickstart?
    原文地址:https://blog.csdn.net/My_name_is_ZwZ/article/details/83961958目录 什么是kickstart批量安装什么是Cobbler?Kickstart中的各模块Kickstart如何配置kick......
  • 在Linux系统下创建子进程-fork()函数
    Linux系统下创建子进程在Linux终端下输入命令:man2fork,查看fork()函数的描述:/*NAMEfork-createachildprocess#include<sys/types.h>#include......
  • Unable to start the daemon process . This problem might be caused by incorrect c
      创建springboot项目的时候报这个错是因为你选择了Gradle环境但是你本地没有这个Gradle环境   选择maven环境就可以了......
  • bootstarp自带的图片
    定制字体图标我们已经看到如何使用字体图标,接下来我们看看如何定制字体图标。我们将以上面的实例开始,并通过改变字体尺寸、颜色和应用文本阴影来进行定制图标。下面是开始的......