【问题标题】:how to run javascript code in C# crawler on server side如何在服务器端的 C# 爬虫中运行 javascript 代码
【发布时间】:2014-06-07 06:10:48
【问题描述】:

我在C#开发了爬虫。

我正在从一个列表页面读取数据,它使用 javascript 重定向到下一页。

函数是-<a onclick="redirectToNextPage(PageID)">More</a>

我如何在服务器端运行此函数并获取下一页的 url,以便通过该 url 我可以保存该页面。

我想在 C# 中运行 javascript 函数来获取下一页的 url

【问题讨论】:

  • 你能把你的代码展示一下你到目前为止所尝试的吗?
  • ClientScript.RegisterClientScriptBlock(typeof(Page), "myscript", "RedirectToNextPage('210')", true);
  • 我用过这段代码@Illaya

标签: c# javascript jquery asp.net ajax


【解决方案1】:

您几乎肯定需要一个无头浏览器来执行此操作,而不仅仅是在没有预期运行的上下文的情况下运行 JavaScript 代码。This question and its answer 列出了一些可以从 C# 中使用的无头浏览器(并非所有浏览器都有 JavaScript不过支持)。该列表现在可能已经过时了,但这是您需要搜索的术语。

【讨论】:

  • 我正在下载浏览器。但它对我有什么帮助呢?
  • @HiteshModha:因为 headless 浏览器是从代码运行的。因此,在代码中,您使用无头浏览器加载页面,然后使用其功能查找链接,并使用其功能告诉它“点击”链接。在支持 JavaScript 的无头浏览器中,您将能够运行与该链接关联的 JavaScript。
【解决方案2】:

试试https://javascriptdotnet.codeplex.com/

它将 Google V8 JS 引擎暴露给 CLI,并允许 CLI 对象被 JS 操作

【讨论】:

    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    相关资源
    最近更新 更多