一点信息:
当"检查"(谷歌浏览器(时,网站会显示我需要的信息(即指向.pdf的简单链接(。
当我对网站进行 URL 时,只有一部分被保存。 再加上有函数和<脚本>标签的事实,让我相信javascript是罪魁祸首(老实说,我不是100%确定,因为我在这方面很新(。脚本>
我需要定期拉取此链接,并且每次都会更改。
问题:
有没有办法让我在 bash 中运行这个 javascript 并将其生成的新 HTML 代码保存到文件中?
不是微不足道的。
通常,对于该方法,您需要:
- 从 HTML 构造一个 DOM
- 在该 DOM 的上下文中执行 JavaScript,同时解析相对于您从中获取 HTML 的 URL 的 URL
有一些工具可以帮助解决这个问题,例如Puppeteer,PhantomJS和Selenium,但它们通常适合使用比bash更强大的编程语言驱动。
作为替代方案,您可以查看对页面进行逆向工程。它从某个地方获取数据。您可能可以计算出URL(浏览器开发人员工具的"网络"选项卡在那里很有用(并直接访问它们。
如果你想下载一个用JavaScript生成自己的网页,你需要执行这个JavaScript才能加载页面。为了实现这一点,你可以使用类似于puppeteer
NodeJS 的库。还有很多其他库,但这是最受欢迎的。
如果你想知道为什么会发生这种情况,那是因为Web开发人员经常使用React,Vue或Angular等框架来引用最流行的框架,这些框架仅生成不由常见HTTP请求库执行的JavaScript输出。