首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >GitHub要点:原始固定链接不会更新

GitHub要点:原始固定链接不会更新
EN

Stack Overflow用户
提问于 2017-11-02 09:12:30
回答 1查看 2.3K关注 0票数 7

我有一个URL到一个要点,原始版本,但它不会总是更新。假设我得到了原始链接

代码语言:javascript
复制
https://gist.githubusercontent.com/username/27610b513177a762470ac95160c050fd/raw/f567a5ade06c9b8e7c101fe62fa3a4cac07e5bd7/test%2520gist

但是我改变了这个要点的内容,URL将会改变,第一个链接将不会包含这些改变。

代码语言:javascript
复制
https://gist.githubusercontent.com/username/27610b513177a762470ac95160c050fd/raw/60e3b421faa7e4e9ea6cd27e4a6ffd4809d3d40e/test%2520gist

我如何制作一个永久的链接,它将永远包含所有的更改,而不仅仅是该链接的修订?

我试过ID,只是id/raw,但ID甚至不是像其他人说的那样是一个数字,它更像是一个哈希,有人能帮我吗?

更新:

我已经尝试了建议的答案,但它仍然通向最后的修订,它有更新的延迟吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 14:45:18

对于那些可能需要程序化解决方案的人(例如,在web抓取过程中动态编辑/更新要点)...

截至2021年5月,避免与上次提交的缓存相关的延迟的变通方法是使用与UI的"Raw“按钮相关的URL,如下所示。

感兴趣的

  • 的格式为:https://gist.github.com/{user}/{gist_hash}/raw/{commit_hash}/{filename}

如果解析与此按钮关联的链接的DOM,则可以绕过通常与使用以下格式的链接相关的2-3分钟延迟:https://gist.github.com/{user}/{gist_hash}/raw

在Python语言中检索此链接的

  • 示例代码如下所示:

检索原始gist链接的脚本(绕过与缓存相关的等待时间)

代码语言:javascript
复制
# Python 3.9.1
import requests
from bs4 import BeautifulSoup

repo_url = f'https://gist.githubusercontent.com/{user}/{gist_hash}'
html = requests.get(repo_url).text
soup = BeautifulSoup(html, 'html.parser')
button = soup.find_all('div', class_='file-actions flex-order-2 pt-0') # Finds "Raw" button
raw_url = f"https://gist.github.com/{button[0].contents[1].attrs['href'][1:]}"
代码语言:javascript
复制
> print(raw_url)

'https://gist.githubusercontent.com/{user}/{gist_hash}/raw/{commit_hash}/{filename}'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47066049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档