【发布时间】:2012-03-14 22:44:13
【问题描述】:
我正在做一个项目,其中一个功能是该页面从其他页面(不是 Web 服务)获取数据,然后将其显示在网格上并使用 hightcharts 进行图表绘制。 问题是我要读取的数据在另一个页面中。 我知道我可以从其他页面读取 html...但是要在页面上获取此信息,我需要为过滤器填写 2 个输入文本并按下提交按钮.. 然后它会显示一个表格,这就是表格我需要提取信息。
有没有办法在 c# 上自动执行此操作?
【问题讨论】:
我正在做一个项目,其中一个功能是该页面从其他页面(不是 Web 服务)获取数据,然后将其显示在网格上并使用 hightcharts 进行图表绘制。 问题是我要读取的数据在另一个页面中。 我知道我可以从其他页面读取 html...但是要在页面上获取此信息,我需要为过滤器填写 2 个输入文本并按下提交按钮.. 然后它会显示一个表格,这就是表格我需要提取信息。
有没有办法在 c# 上自动执行此操作?
【问题讨论】:
有很多方法可以做到这一点;最常见的围绕AJAX。您可以通过 Javascript 从客户端向服务器上的方法发起回调,例如,该方法可以更新 UpdatePanel 中的控件。
您还可以对服务器端Page Methods 进行客户端调用。实际上,这是您的网络表单上的一个静态方法,您可以通过 javascript/jquery 和 AJAX 从客户端调用它。
编辑。
原来你想scrape另一个网站。最简单的方法是在您的网站上使用服务器端页面方法来执行此操作 - 它从客户端站点请求页面,提取您想要的信息,然后将其返回给您的客户端。您的客户当然可以将其称为页面方法。
有关教程,请参阅 http://www.4guysfromrolla.com/webtech/070601-1.shtml,我建议使用该文章中提到的 HTML Agility Pack。
进一步编辑
您想进一步操作远程站点上的页面;如果您不能或不想与该站点的开发人员交谈以制定一种以编程方式执行此操作的方法,那么您将不得不作弊。获取 Firebug 和 Tamper Data。使用 Firebug 和 Tamper Data 来查看单击远程站点上的按钮如何发出请求并将其发布到服务器 - 您想模拟做同样的事情。如果您知道要发布哪些数据,那么您可以从您的服务器发布完全相同的帖子。
trying to scrape AJAX websites时你经常会遇到这种问题。
【讨论】: