从动态页面捕获结果

Posted

技术标签:

【中文标题】从动态页面捕获结果【英文标题】:Capturing results from a dynamic page 【发布时间】:2019-06-30 17:08:27 【问题描述】:

我在 google 表格中使用 javascript,但如果可能的话,我可以使用 .net 技术来解决这个问题,因为我在 google 表格中看不到这样做的方法(目前)。

我想从网站捕获页面内容。 信息不是静态的。 根据我传递的参数,我会得到不同的结果。

例如,https://www.hapag-lloyd.com/en/online-business/tracing/tracing-by-booking.html?blno=HLCUEUR181027806#

这将返回与提单编号 HLCUEUR181027806 关联的页面,然后我可以使用 Google 表格的 ImportXML 函数对其进行解析。

我似乎无法使用 Google Sheet 的 ImportXML 功能,因为它不适用于根据提供的参数更改内容的动态页面。

问题是,这是否可以通过任何方式使用任何技术以编程方式发送对动态页面的请求,等待结果返回,并捕获其输出,以便我可以解析它,并从中找到关键信息。

我了解 .net、c# 并学习 Web 开发。

查看相关问题:

Trouble fetching date from ImportXML. Need options

【问题讨论】:

我已恢复您的编辑,添加了您对问题的回答。回答您自己的问题很好,但我们已经知道您接受它,您对自己的回答感到满意 - 无需在问题中这么说。 【参考方案1】:

您需要一个可以加载页面并等待它呈现(原因是javascript在客户端呈现页面)然后解析html的无头浏览器。

您可以从此页面中选择任何支持 .net here 的库

您的另一个选择是查看流量并使用私有 Api(效率更高但更难)

【讨论】:

【参考方案2】:

我正在使用 autoit。它是一种免费的脚本语言。 这是解决这个问题的正确技术。

【讨论】:

以上是关于从动态页面捕获结果的主要内容,如果未能解决你的问题,请参考以下文章

从动态加载的页面调用的 AJAX 返回异步结果

无法在输入框中捕获并输入一些动态生成的数字以填充某些结果

动态追加DataTable而不刷新页面

无法从 innerHTML 获取动态数据 - Angular

jsp页面的静态导入和动态导入

爬虫案例(js动态生成数据)