场景如下:作为一个保险代理,您经常使用多个保险网站。对于每个网站,我需要登录并查找客户。我想要自动化这个过程。
我目前已经为iMacros构建了一个解决方案,但需要下载/安装。
我正在寻找一种使用.NET框架的解决方案,允许用户提供其登录凭据和有关客户的信息,并能够为他们自动化此过程。
这将涉及到每个特定网站的知识,这是可以接受的,我将拥有所有这些信息。
我希望这个过程能够在后台进行,并在完成操作后向用户启动网站。
假设您正在谈论使用某种机器人填写和提交表单,然后抓取响应以显示给用户。
使用HttpWebRequest(?)创建一个包含相关表单字段和来自模型的数据的表单提交,并提交请求。 检索并分析响应,将任何cookie存储,因为您需要在下一个请求中重新提交cookie。 根据第一个请求的结果制定下一个请求(记得根据需要附加cookie)并提交它。 检索响应并显示或解析并显示(取决于您希望实现什么目标)。
您说这不是客户端应用程序 - 因此我将假设这是Web应用程序。这样做的缺点是,一旦您开始代理用户的请求,您将不得不始终代理这些请求,因为您无法将目标站点的任何会话cookie传输到用户,并且用户没有(简单/易于/逻辑)的方法登录到目标站点,然后将cookie传输给您。
通常,在尝试进行此类集成时,人们将使用某种已发布的API与所涉及的公司/系统进行交互,因为它们专为您所提到的类型的交互而设计。
我不清楚您在写下以下内容时想要传达什么困难:
我目前已经建立了一个针对iMacros的解决方案,但这需要下载/安装。
我认为您有一些要求是未明确说明的。您肯定需要在客户端计算机上“下载/安装”您的.Net程序。那么这有什么区别呢?
无论如何,Crowbar 似乎很有前途:
Crowbar是基于服务器端无头Mozilla浏览器的Web爬虫环境。
它的目的是允许针对DOM运行JavaScript爬虫,以自动化地抓取网站,但同时避免所有语法规范化问题。
对于不熟悉此术语的人来说:“javascript scrapers”在这里意味着类似于iMacros的宏,用于从网站提取信息(最终是Javascript程序,您使用它的目的我不认为有区别)。
Crowbar是一个实现比较简单的XULRunner应用程序,它提供了一个基于javascript的HTTP RESTful网络服务(基本上将Web浏览器变成Web服务器!),您可以使用该服务来“远程控制”浏览器。
我不知道这个无头浏览器是否可以像普通的Firefox安装一样扩展附加组件。如果是这样,您甚至可以考虑使用 iMacros的宏(或使用CoScripter)进行适当打包。
越想到这点,我就越觉得这是一个复杂的解决方案,与您想要实现的目标有些脱节。因此,请澄清一下您的意图。