我试图弄清楚如何从 Linux shell 中提取网页中的链接,其中仅在单击网页上的按钮后才会出现链接,例如 github 中的“资产”。如果我使用 下载页面wget
,它将不包含来自资产的任何链接,即
wget -O /dev/stdout "https://github.com/yuzu-emu/yuzu-mainline/releases/latest" 2>/dev/null | grep ".AppImage"
不返回链接。更一般地,一些网页包含仅在交互后才显示的元素;如何获得显示这些元素的 html?
答案1
为您具体的例如,使用 github API 会比尝试抓取网页更好。例如:
curl https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases/tags/mainline-0-1180
jq
这将返回一个 JSON 博客,其中包含您可以使用(或支持 JSON 支持的您最喜欢的语言)解析的发布信息(包括资产列表) 。
更一般地说,如果您想访问页面加载后通过 Javascript 动态更新的页面内容,您将无法从 shell 轻松完成此操作。
你通常需要类似的东西剧作家或者硒允许对浏览器进行编程控制,这些工具通常需要您使用功能更强大的语言(Javascript、Python 等)。