我试图弄清楚如何从 linux shell 中提取网页中的链接,其中链接仅在单击网页上的按钮后才会出现,例如 github 中的“资产”。如果我用 下载页面wget
,它将不包含资产中的任何链接,即
wget -O /dev/stdout "https://github.com/yuzu-emu/yuzu-mainline/releases/latest" 2>/dev/null | grep ".AppImage"
不返回链接。更一般地说,一些网页包含仅在交互后显示的元素;如何获得显示这些元素的 html?
对于您的具体示例,使用 github API 会更好地为您服务,而不是尝试抓取网页。例如:
jq
这将返回一个 JSON 博客,其中包含您可以使用(或您最喜欢的支持 JSON 的语言)解析的版本信息(包括资产列表)。更一般地说,如果您想访问在页面加载后通过 Javascript 动态更新的页面上的内容,您将无法从 shell 轻松地做到这一点。
您通常需要像Playwright或Selenium这样允许对浏览器进行编程控制的工具,而这些工具通常需要您使用功能更强大的语言(Javascript、Python 等)。