如何正确获取GitHub仓库的Open Graph图片,无需页面爬虫?
原因说明
你通过openGraphImageUrl字段查询到个人头像,是因为该字段仅返回仓库自定义上传的社交预览图,若你未在仓库设置中单独配置社交预览图,该字段默认返回仓库所有者的头像。
无需爬取页面的获取方法
直接通过GitHub公开的OG图片生成规则拼接地址即可,生成的是官方自动渲染的仓库OG图,包含仓库基础信息:
- 仓库默认OG图拼接格式:
https://opengraph.githubassets.com/<任意唯一标识>/<owner>/<repo>
示例(对应你查询的仓库):https://opengraph.githubassets.com/1/alexfertel/rust-algorithms
地址中的<任意唯一标识>可随意填写,若需要缓存失效可以换个新的字符串即可。
其他场景OG图拼接规则
如果你需要获取特定页面的OG图,也可以通过对应规则拼接:
- PR页面OG图:
https://opengraph.githubassets.com/<任意字符串>/<owner>/<repo>/pull/<PR编号> - Issue页面OG图:
https://opengraph.githubassets.com/<任意字符串>/<owner>/<repo>/issues/<Issue编号> - 提交记录页面OG图:
https://opengraph.githubassets.com/<任意字符串>/<owner>/<repo>/commit/<提交哈希值>
补充说明
如果你希望GraphQL的openGraphImageUrl字段返回指定图片,可以进入仓库设置页,在「General - Social preview」模块上传自定义的社交预览图,配置完成后再调用GraphQL接口即可拿到你上传的图片地址。
内容的提问来源于stack exchange,提问作者alexfertel
相关产品推荐
相关产品推荐

