php - DOMDocument::loadHTML() - 使用外部 Javascript
问题描述
我从 Instagram 的oEmbed获取数据。我收到了这个 API 响应:
{
"version": "1.0",
"author_name": "diegoquinteiro",
"provider_name": "Instagram",
"provider_url": "https://www.instagram.com/",
"type": "rich",
"width": 658,
"html": "<blockquote class=\"instagram-media\" data-instgrm-ca...",
"thumbnail_width": 640,
"thumbnail_height": 640
}
对于html
密钥,我想使用 加载它DOMDocument::loadHTML()
,所以这是我的代码:
$dom = new \DOMDocument('1.0', 'UTF-8');
$dom->loadHTML($data['html']);
这样做的问题是它没有完全呈现页面,因为该html
值具有 a<script async src="//platform.instagram.com/en_US/embeds.js"></script>
但它不执行该脚本。
有没有办法完全呈现页面,比如在底部执行 javascript,然后我将开始解析 HTML。我正在DOMXPath
解析这些 HTML。
顺便说一句,这是html
来自 Instagram 的 API 响应的密钥的全部值:
解决方案
推荐阅读
- css - 为什么 webpack 会以如此奇怪的方式处理 CSS?
- python - Google Santa Tracking Api 中圣诞老人当前位置的变量是什么?
- python - 使用 Python 请求发出自定义请求
- tensorflow - pytorch 中的 tf.function 属性
- flutter - 使用颤振共享偏好以节省颜色
- java - 如何从私有 int 返回 void?
- prolog - 将子句的其余部分作为列表获取并创建列表列表
- r - 如何模拟rest API的http响应?
- json - 使用公共属性加入 JSON
- java - 如何在流java8中通过键获取所有不同的值