【问题标题】:Is there a way in C# to get a 'browser' to pre-process a WebRequest so you can work with the elements that you see when you 'View Source'C# 中有没有办法让“浏览器”预处理 WebRequest,以便您可以使用“查看源代码”时看到的元素
【发布时间】:2013-04-01 19:39:15
【问题描述】:

我想发出一个网络请求,例如http://finance.yahoo.com/q?s=rb.l 并提取股价。然而,返回的文本是在浏览器处理它之前,我需要在我需要查找的 <span></span> 元素存在之前先处理它。

这可能吗,还是我应该考虑另一种方式?

类似地,任何可靠的伦敦证券交易所延迟 15 分钟免费股票服务或仅给出股票代码的其他获取此数据的方式都会很棒。

【问题讨论】:

  • WebRequest 类与实际浏览器有何关系?
  • “进程”是指“执行 JavaScript”吗?如果是这样,那么没有。你所说的是一个网络浏览器,它比发出简单的 HTTP 请求(这是 webrequest 所做的)要很多
  • 这是本地 (winforms/wpf) 应用还是网络应用?
  • 您确定您尝试进行的屏幕抓取不违反雅虎的服务条款吗?
  • 是的,我的意思是执行所有客户端代码,我一直在这样做,直到找到另一种获取股票价格的方法。我不确定我要检查的 Yahoo ToS

标签: c# httprequest webrequest stocks


【解决方案1】:

这里有两个问题:首先,如何在允许 javascript 等在该页面上运行后以编程方式访问该页面上的数据,就好像它正在被真正的浏览器读取一样。其次,如何以编程方式获取股票代码信息。

回答第一个问题:您可以使用 WebDriver .NET 之类的东西逐字地实例化打开页面的浏览器,然后访问页面上的元素。

要回答第二个问题,我建议您尝试search for that question directly,因为这是一个足够常见的问题,您可能会找到已经回答过的a number of people

【讨论】:

  • 谢谢 - 是的,我并不是真的要添加“第二个”问题,实际上只是将它放在上下文中。我会看看 WebDriver 看看这是否可行并回发
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 2019-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
相关资源
最近更新 更多