我使用 Postman 从服务器获取数据,当我使用 REST 调用时,它是 GET 请求,但当我使用 GraphQL API 调用时,它需要是 POST 请求。为什么会这样呢?
我发现了很多线程——甚至有几个项目使用 github api 之外的 api 嵌入了贡献日历——但这些方法或线程都没有真正回答这个问题。有一件事很接近,但这是不可能的。
我只是想获取用户的贡献总数,如 github 个人资料页面上的日历所示,如下所示......
api 文档描述了收集 Repo Contrib 数据,因此我尝试用有根据的猜测盲目地尝试 api,但没有成功。有谁知道这个数据实际上是否有一个可行的端点?我真的需要自己计算这些信息还是做一些肮脏的 html 抓取废话?这看起来很愚蠢...有人吗?
更新:对于任何寻求快速网络抓取解决方案的人来说,这是一个使用cheerio和正则表达式的解决方案
const axios = require('axios')
const cheerio = require('cheerio')
const url = 'https://github.com/archae0pteryx'
function getCommits(url) {
return new Promise((resolve, reject) => {
axios.get(url).then(res => {
const load = cheerio.load(res.data)
const parsed = load('div.js-contribution-graph > h2').text()
const reg = /\d+/g
const x = parsed.match(reg)
resolve(x)
}).catch(err => reject(err))
})
}
getCommits(url)
.then(x => console.log(x))
.catch(err => console.error(err))
Run Code Online (Sandbox Code Playgroud)