Как использовать GitHub API для получения информации о зависимостях репозитория в GitHub? - PullRequest
1 голос
/ 06 ноября 2019

Когда я использовал GitHub API v4 для получения некоторой информации, я легко мог получить зависимости, используя repository.dependencyGraphManifests. Но я не могу найти способ использовать GitHub API v4 для получения информации о зависимых лицах, хотя я вижу ее в Insights->Dependency Graph->Dependents. Я хочу знать, есть ли какой-нибудь возможный способ получить информацию о зависимых объектах в репозитории GitHub? Будь то GitHub API или что-то еще.

1 Ответ

0 голосов
/ 08 ноября 2019

Я не думаю, что вы можете получить проект зависимых, используя 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))
    url = soup.find("div", {"class":"paginate-container"}).find('a')["href"]

Попробуйте этот скрипт Python

...