GitHub Repository
将单个 GitHub 仓库页面解析为结构化 JSON,包含 stars、forks、watchers、语言、主题、许可证、未关闭的 issues 和 PRs、默认分支以及最新版本。
API 用法
在 Crawling API 请求中添加 &scraper=github-repository。在 url 参数中对目标 URL 进行 URL 编码。
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://github.com/rails/rails' \
--data-urlencode 'scraper=github-repository' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://github.com/rails/rails',
{'scraper': 'github-repository'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://github.com/rails/rails',
{ scraper: 'github-repository' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://github.com/rails/rails', scraper: 'github-repository')
data = JSON.parse(res.body)示例输入 URL
传入 url 参数的 URL(为便于阅读已 URL 解码):
https://github.com/rails/rails响应结构
JSON 响应体。当源页面省略对应值时,字段类型可能为 null。
仓库名称。
所有者(用户或组织)登录名。
完整的
owner/name 标识符。规范的仓库 URL。
仓库描述(页眉下方的标语)。
主要编程语言(
languages 的第一项)。仓库语言栏中列出的语言。
Star 数量。
Fork 数量。
Watcher 数量。
如果启用了 Issues 标签页则为 true。
未关闭的 issue 数量。
未关闭的 pull request 数量。
仓库主题标签。
侧边栏中显示的许可证名称。
默认分支名称。
当仓库有发布版本时,最新的发布标签。
如果存在已渲染的 README 则为 true。
如果仓库已归档(只读)则为 true。
示例响应
{
"name": "rails",
"owner": "rails",
"fullName": "rails/rails",
"url": "https://github.com/rails/rails",
"description": "Ruby on Rails",
"primaryLanguage": "Ruby",
"languages": ["Ruby", "JavaScript", "HTML", "SCSS", "CSS", "Dockerfile"],
"stars": 58789,
"forks": 22414,
"watchers": 2400,
"hasIssues": true,
"openIssuesCount": 478,
"openPrsCount": 1081,
"topics": ["ruby", "rails", "html", "activerecord", "framework", "mvc", "activejob"],
"license": "MIT license",
"defaultBranch": "main",
"latestRelease": "v8.1.3",
"readmePresent": true,
"archived": false
}