Получение URL-адресов GitHub: использование API GitHub, анализ конфигурации Git и извлечение HTML

Чтобы получить URL-адрес репозитория GitHub, вы можете использовать различные методы в зависимости от ваших конкретных требований. Вот несколько подходов с примерами кода:

Метод 1: использование API GitHub
Вы можете использовать API GitHub для получения URL-адреса репозитория. Вот пример использования Python и библиотеки запросов:

import requests
def get_github_url(owner, repo):
    api_url = f"https://api.github.com/repos/{owner}/{repo}"
    response = requests.get(api_url)
    if response.status_code == 200:
        data = response.json()
        return data['html_url']
    else:
        return None
# Example usage
owner = "username"
repo = "repository-name"
github_url = get_github_url(owner, repo)
if github_url:
    print("GitHub URL:", github_url)
else:
    print("Repository not found.")

Метод 2: анализ URL-адреса репозитория
Вы можете проанализировать URL-адрес репозитория из конфигурации Git локальной копии репозитория. Вот пример использования команд Git в оболочке:

cd /path/to/repository
git remote -v | grep origin | grep fetch | awk '{print $2}'

Приведенная выше команда распечатает URL-адрес репозитория GitHub.

Метод 3: извлечение из HTML
Если у вас есть доступ к исходному коду HTML страницы репозитория GitHub, вы можете извлечь URL-адрес с помощью библиотек синтаксического анализа HTML, таких как BeautifulSoup в Python. Вот пример:

from bs4 import BeautifulSoup
import requests
def get_github_url_from_html(url):
    response = requests.get(url)
    if response.status_code == 200:
        soup = BeautifulSoup(response.content, 'html.parser')
        repo_link = soup.find("a", {"data-ga-click": "Repository, go to repository homepage"})
        if repo_link:
            return repo_link['href']
    return None
# Example usage
github_url = get_github_url_from_html("https://github.com/username/repository-name")
if github_url:
    print("GitHub URL:", github_url)
else:
    print("Repository not found.")