【问题标题】:Using Java to pull data from web [closed]使用 Java 从 Web 中提取数据 [关闭]
【发布时间】:2014-07-17 09:08:34
【问题描述】:

我想知道是否有一种方法可以使用 java (eclipse) 从网站中提取特定数据。例如,来自 Yahoo Finances 或 Bloomberg 的股票信息。我环顾四周,找到了一些资源,但我无法让它们工作,也许我错过了一些东西或者它们已经过时了。如果可能的话,我还想避免下载任何外部资源,我已经阅读了 JSoup,如果一切都失败了,我会更认真地考虑它。

感谢您的帮助。

【问题讨论】:

  • 你已经尝试了什么?
  • 为了避免被否决,请证明您已经完成了一些功课并且您已经尝试了一些事情。

标签: java screen screen-scraping yahoo stock


【解决方案1】:

答案是:是的,有很多不同的方法可以从网站中提取数据。

无论是哪种编程语言(Java、.NET、Perl...),基本上都有 2 种替代方案:

  1. 该网站有一个 API:在这种情况下,它将是一个 REST 或 SOAP API,或者可能是一个自定义 API(REST 和 SOAP 可能占绝大多数)。如果有的话,请查看该网站的 API 文档。另请查看 Programmable Web 以获取参考资料。
  2. 该网站没有 API。然后,您需要执行此处称为屏幕抓取的操作。本质上,您将像浏览器一样发送一系列 HTTP GET 或 HTTP POST 请求。服务器回复包含 HTML 代码的响应。从那里开始,您需要“解析”HTML 以提取您需要的信息。这将需要重型 XPath(如果内容是 XML)或正则表达式(如果内容是 HTML 或文本)。

查看Apache HTTP Components 以帮助您入门。

如果您想要的只是财务信息,Google 有一个 JSON/REST API 可以帮助您:How can I get stock quotes using Google Finance API?

Yahoo 也有一个,在 SO 中也有一个问题:Yahoo Finance All Currencies quote API Documentation

【讨论】:

猜你喜欢
  • 2019-06-19
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 2021-09-14
相关资源
最近更新 更多