【问题标题】:Cheap flight via Java Query and Scraping [closed]通过 Java 查询和抓取的廉价航班 [关闭]
【发布时间】:2011-04-02 21:13:58
【问题描述】:

我正在制作一个 Java 应用程序,该应用程序可以访问 Southwest.com 并每天搜索 4 次特定航班。如果它找到便宜的航班,它会向用户发送电子邮件。

我需要知道如何在 Southwest.com 主页上输入数据(即我想要 2011 年 7 月 24 日从 JFK 到 SFO 的航班),以便我可以从结果页面中抓取 HTML 以进行交付最低价。

任何关于如何用 Java 查询网站的帮助将不胜感激。

【问题讨论】:

  • 还没有太多。我可以将应用程序上传到 Google App Engine,但我真正想要的只是关于如何使用程序在网站上的文本字段中输入文本的基本教程。
  • southwest.com Terms & Conditions .. 禁止活动 您不得复制、展示、分发、下载、许可、修改、发布、重新发布、复制、再利用、出售、传输,用于创作衍生作品,或未经我们明确的书面许可将本网站的内容用于公共或商业目的。
  • 请不要在这里问这样的问题。
  • 我认为这有点苛刻,我认为关闭它也有点苛刻。西南航空的法律声明中没有任何内容可以阻止某人编写这样的应用程序供自己使用或作为练习。

标签: java html scrape


【解决方案1】:

请注意,您将任由其网站架构师和设计师的心血来潮摆布。我知道,我花了一年时间为一家在线零售企业做同样的事情。

使用 HTTPUnit,它在内存中呈现页面,您可以检索将内容发布到站点所需的文本和 url。确保保存他们页面的内容以进行调试和记录。

使用您通过 HTTPUnit 检索到的信息来构建 url 和 Form 对象以发回他们的站点。

祝你好运!

【讨论】:

  • +1 表示警告。这通常几乎是不可能的
  • 这是我不得不做的最痛苦的任务之一。你会把所有东西都排好,然后他们会改变网站。所有的网址都突然不同了,我的代码都没有工作。抽搐,抽搐... :)
【解决方案2】:

查看 HTTPRequest。基本上,这些字段将通过 GET 或 POST 参数发送。

参数的格式通常是这样的:

&param1=JFK&param2=某个值...

使用 GET 方法,您可以将参数附加到 URL 的末尾,如下所示: www.site.com?param1=JFD&param2=...

使用 POST,您必须将参数作为 URL 之后的流发送。

您可以使用的 Java 类是: http://download.oracle.com/javase/1.4.2/docs/api/java/net/HttpURLConnection.html

【讨论】:

  • 指向结果的西南 URL 链接仅在 10 分钟内有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2014-08-21
相关资源
最近更新 更多