首页 > 解决方案 > 如何使用 GitHub API 在 GitHub 中获取存储库的依赖信息?

问题描述

当我使用 GitHub API v4 获取一些信息时,我可以通过使用repository.dependencyGraphManifests. 但是我找不到任何方法来使用 GitHub API v4 来获取依赖信息,尽管我可以在Insights->Dependency Graph->Dependents. 我想知道是否有任何可能的方法来获取 GitHub 存储库中的依赖信息?无论是 GitHub API 还是其他东西。

标签: githubgraphqlgithub-api

解决方案


我不认为您可以使用 Github API(Rest 或 Graphql)获取依赖项目,一种方法可能是使用如下脚本的抓取:

import requests
from bs4 import BeautifulSoup

repo = "expressjs/express"
page_num = 3
url = 'https://github.com/{}/network/dependents'.format(repo)

for i in range(page_num):
    print("GET " + url)
    r = requests.get(url)
    soup = BeautifulSoup(r.content, "html.parser")

    data = [
        "{}/{}".format(
            t.find('a', {"data-repository-hovercards-enabled":""}).text,
            t.find('a', {"data-hovercard-type":"repository"}).text
        )
        for t in soup.findAll("div", {"class": "Box-row"})
    ]

    print(data)
    print(len(data))
    paginationContainer = soup.find("div", {"class":"paginate-container"}).find('a')
    if paginationContainer:
        url = paginationContainer["href"]
    else:
        break

试试这个 python 脚本


推荐阅读