C# - 使用 HTMLAgilityPack 获取 JavaScript 变量值

标签 c# javascript

我目前有 2 个 JavaScript 变量,我需要从中检索值。 HTML 由一系列没有 id/name 属性的嵌套 DIV 组成。是否可以使用 HTMLAgilityPack 从这些变量中检索数据?如果是这样,我将如何去做,如果不是,那么需要什么,正则表达式?如果是后者,请帮助我创建一个允许我执行此操作的正则表达式。谢谢。

<div style="margin: 12px 0px;" align="left">
<script type="text/javascript">
variable1 = "var1";
variable2 = "var2";
</script>
</div>

最佳答案

我假设您正试图从网站上抓取这些信息?最有可能是您无法直接控制的?有几种方法可以做到这一点,我会从易到难(至少在我看来是这样):

  1. 询问(网站的)所有者。大多数时候,他们可以让您直接访问信息,如果您提出要求,他们可能会免费提供给您

  2. 您可以使用 webBrowser控制,运行 javascript,然后解析来自 DOM 的值。与 HttpWebRequest 不同,这允许在页面上加载并抓取所有正确的值。 Helpful Link Here.

  3. 使用 Firebug. 窃取源代码使用 Firebug 检查网站以查看从后台调用了哪些 URL。最有可能的是,它使用异步请求从 Web 服务中检索更新的信息。使用 Firebug,您可以在 NET -> XHR 下查看它。查看请求和返回的值,然后您可以自己检索值并从源中解析内容而不是抓取页面。

我认为这可能是您正在寻找的信息,但如果没有请告诉我,我可以澄清/修复答案

关于C# - 使用 HTMLAgilityPack 获取 JavaScript 变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315151/

相关文章:

javascript - 进行预检请求时是否需要 Access-Control-Allow-Origin CORS header ?

javascript - 如何使用javascript在一个句子中搜索多个单词

c# - 使用具有导航属性的接口(interface)

c# - 客户端服务器套接字应用程序上的方法错误没有过载

c# - 如何检查用户是 "logged in"?

javascript - 对多个字段进行数组过滤

javascript - 阅读 Javascript 注释

javascript - 如何使用 Dart 在 Angular 2 中创建动态组件?

c# - 在 Azure Blob 存储中存储字符串并使用 C# 获取对 Blob 的引用

c# - 为什么结构需要装箱?