如何使用axios或JavaScript中的提取API加载启用JavaScript的响应?

问题描述 投票:0回答:1

我正在一个个人项目中,我想阅读JavaScript相关网页的整个HTML。例如,如果我要在启用JavaScript的网络浏览器中加载this URL,这就是我得到的:

An Image Post on Instagram

但是,如果我禁用浏览器中的JavaScript并立即加载the same URL,则会得到此:

Only the Instagram LOGO

我知道这很正常。


现在,我正在尝试使用axios HTTP客户端在JavaScript代码中加载the same link的HTML,显然我正在将禁用JavaScript的网页的HTML作为HTTP响应。

我想获得HTML(+ JS)源作为the same link的响应(已启用JavaScript)。当使用axios或fetch API等HTTP客户端时,我不知道如何模仿启用JavaScript的Web浏览器。

javascript html http browser axios
1个回答
0
投票

如果您尝试在浏览器中执行此操作,除非加载的网站允许您(通过CORS或类似网站)允许,否则您基本上无法这样做。您必须将其加载到窗口或iframe中,等待其JavaScript运行,然后访问生成的DOM。但是默认情况下,禁止访问跨域页面的DOM。

我能想到的唯一基于浏览器的方法是编写并安装browser extension,因为当用户安装扩展程序时,他们可以为扩展程序赋予比网页通常更大的功能。

[如果您尝试在非浏览器环境中执行此操作,则可以使用无头铬之类的headless browser或类似名称。基于浏览器的限制不适用。

© www.soinside.com 2019 - 2024. All rights reserved.