Web applications 自动化浏览器导航和数据提取

Web applications 自动化浏览器导航和数据提取,web-applications,import,automation,web-scraping,Web Applications,Import,Automation,Web Scraping,我正在尝试从一个网站自动提取数据,但我真的不知道从哪里开始。我们的一家供应商让我们通过“Business Objects 11”在线应用程序访问一些设备日志数据。如果您不熟悉此在线应用程序,请将其视为基于web的报告生成器。问题是我正试图监控大量设备,而该供应商一次只创建了一个提取一个日志的请求。此请求包含设备编号、开始日期和结束日期。。。更糟糕的是,我们只能导出到二进制Excel格式,因为de“csv”导出被破坏,他们拒绝修复它。。。因此,我们受到Excel的65536行限制。。。(就我而言,

我正在尝试从一个网站自动提取数据,但我真的不知道从哪里开始。我们的一家供应商让我们通过“Business Objects 11”在线应用程序访问一些设备日志数据。如果您不熟悉此在线应用程序,请将其视为基于web的报告生成器。问题是我正试图监控大量设备,而该供应商一次只创建了一个提取一个日志的请求。此请求包含设备编号、开始日期和结束日期。。。更糟糕的是,我们只能导出到二进制Excel格式,因为de“csv”导出被破坏,他们拒绝修复它。。。因此,我们受到Excel的65536行限制。。。(就我而言,这相当于3-4天的数据记录)。我无法创建新的重新请求,因为只有供应商具有必要的管理权限

您认为通过web GUI运行大量请求(大约800个)最优雅的方式是什么?我想我可以硬编码鼠标位置,点击事件,按键延迟等等。。。但必须有更好的办法

我读过关于AutoHotKey和AutoIt脚本的文章,但它们似乎在网络上的功能有限。也。。。我被IE6困住了。。。但如果你知道一种涉及其他浏览器的方式,我仍然对你的答案很感兴趣


(一旦本地有了日志文件,提取数据就不成问题了)

通常,我建议根本不要使用IE(或任何浏览器)。请记住,web浏览器软件只是代理程序,用于发出http请求并以有意义的方式显示结果。还有其他方法可以发出类似的http请求并处理响应。几乎每一种现代语言的API中都内置了这种功能。这被称为屏幕抓取或网页抓取

但为了完成这个建议,我需要更多地了解您的编程环境:即,您打算用什么编程语言编写这个脚本

使用C#的一个典型示例,您只需将html结果作为字符串获取,如下所示:

new System.Net.WebClient().DownloadString("http://example.com");

然后解析字符串以查找所需的任何字段,并发送另一个请求。WebClient类还有一个
.DownloadFile()
方法,您可能会发现该方法对检索excel文件很有用

通常,我建议不要使用IE(或任何浏览器)。请记住,web浏览器软件只是代理程序,用于发出http请求并以有意义的方式显示结果。还有其他方法可以发出类似的http请求并处理响应。几乎每一种现代语言的API中都内置了这种功能。这被称为屏幕抓取或网页抓取

但为了完成这个建议,我需要更多地了解您的编程环境:即,您打算用什么编程语言编写这个脚本

使用C#的一个典型示例,您只需将html结果作为字符串获取,如下所示:

new System.Net.WebClient().DownloadString("http://example.com");

然后解析字符串以查找所需的任何字段,并发送另一个请求。WebClient类还有一个
.DownloadFile()
方法,您可能会发现该方法对检索excel文件很有用

有些事情你可以试试。如果站点是html,并且可以通过简单的POST或GET请求报告,那么cookielib Python模块应该足以获取excel文档

然后您可以尝试这样做:从excel中提取数据


另外,请看:/。我自己从来没有试过,但看起来很有前途而且很容易使用。

有些东西你可以试试。如果站点是html,并且可以通过简单的POST或GET请求报告,那么cookielib Python模块应该足以获取excel文档

然后您可以尝试这样做:从excel中提取数据


另外,请看:/。我自己从来没有尝试过,但看起来很有前途,而且很容易使用。

< P>因为你可以使用.NET,你应该考虑使用Windows窗体WebBub控件。您可以自动导航到站点、按按钮等。加载报表页面后,您可以使用代码导航HTML DOM以查找所需的数据—不涉及正则表达式


我以前做过类似的事情,从易趣网中提取拍卖数据。

因为你可以使用.NET,你应该考虑使用Windows窗体WebBub控件。您可以自动导航到站点、按按钮等。加载报表页面后,您可以使用代码导航HTML DOM以查找所需的数据—不涉及正则表达式


几年前我做了类似的事情,从eBay提取拍卖数据。

语言本身不是问题。我更像是一个C/C++开发人员,但我曾在VB/VBS、C#、Java、Bash脚本等方面做过很多工作。我曾在PHP方面做过一点工作,但在“web语言”方面仅此而已。你对http请求的看法是对的,但我的印象是,解析来自这样一个web应用程序的原始响应将非常复杂。。。或者也许不是…@Decapsuleur:用regexp解析html响应看起来很糟糕,但对于自动生成的页面来说效果出奇地好。我不会使用regex,它会得到非常难看的匹配嵌套标记之类的东西。手动字符串函数最终更易于实现和维护。语言本身不是问题。我更像是一个C/C++开发人员,但我曾在VB/VBS、C#、Java、Bash脚本等方面做过很多工作。我曾在PHP方面做过一点工作,但在“web语言”方面仅此而已。你对http请求的看法是对的,但我的印象是,解析来自这样一个web应用程序的原始响应将非常复杂。。。或者也许不是…@Decapsuleur:用regexp解析html响应看起来很糟糕,但对于自动生成的页面来说效果出奇地好。我不会使用regex,它会得到非常难看的匹配嵌套标记之类的东西。手动字符串函数最终更易于实现和维护。谢谢,Pamie工作得很好!我唯一的问题是