【问题标题】:C# library similar to HtmlUnit类似于 HtmlUnit 的 C# 库
【发布时间】:2009-10-03 02:38:46
【问题描述】:

我需要编写将“浏览”外部资源的独立应用程序。 C# 中是否有自动处理 cookie 并支持 JavaScript 的库(我相信不需要通过 JS)?主要目标是保持会话活动并提交表单,这样我就可以在登录后通过多步注册过程或“浏览”网站。 我查看了 Html Agility Pack,但它似乎不包含我需要的功能 - 表单提交或 cookie 支持。

谢谢,阿尔乔姆。

【问题讨论】:

标签: c# web-crawler screen-scraping


【解决方案1】:

如果您有兴趣为 C# 编写自己的 htmlunit 版本,IKVM 项目可能会有所帮助。 http://www.ikvm.net/

【讨论】:

【解决方案2】:

查看Data Extracting SDK,它允许通过 HtmlProcessor 类发布数据。如果在库中遗漏了也可以在这里add your work item

【讨论】:

  • 谢谢。不是确切的东西,但比 WebRequest 更接近我需要的东西
【解决方案3】:

HtmlAgilityPack 专门用于解析 HTML。您可以使用 .NET Framework 中的 WebRequest 类来处理通信和 cookie。

Web scraping in .NET 上查看我的博客条目。这不会回答您的所有问题,但会帮助您解决问题。

【讨论】:

    【解决方案4】:

    http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx 试试你的 WebBrowser 类并在那里使用 DOM

    【讨论】:

      【解决方案5】:

      Selenium,它使用实际的浏览器,但是是一个跨浏览器平台。取决于您是否可以运行实际的浏览器 - 它通过代理将 javascript 注入浏览器来工作。 http://seleniumhq.org/support/

      【讨论】:

      • 虽然 Selenium 进行 Web 测试,但它与 HTMLUnit 有着根本的不同。 HTMLUnit 通过发送响应和接收响应、解析 html 以及从用户那里抽象出所有这些来工作。
      • “发送响应和接收响应,解析 html,并从用户那里抽象出所有这些” - 您刚刚描述了一个 Web 浏览器,它是 Selenium 自动化的,以及 HTMLUnit 是什么 (虽然“无头”,没有可见的显示)。从编程的角度来看,所需的编码大致相同:通过各自的 API 填写文本字段并单击按钮。
      猜你喜欢
      • 2016-03-21
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 2018-05-10
      • 2011-07-31
      • 1970-01-01
      • 2021-11-29
      • 2020-07-31
      相关资源
      最近更新 更多