如果我想使用Java从网页获取数据,我将从哪里开始?

时间:2010-12-27 00:44:07

标签: java android html xml parsing

由于Google开始提供非常好的cinema listings版面,我想制作一个Android应用,用户可以从此页面获取信息并显示它们输入的区域。

我不是在问如何制作应用程序,但是使用Java如何动态地从这个网页获取信息呢?我可以将其解析为XML吗?这样看起来有点棘手。

2 个答案:

答案 0 :(得分:1)

直接向你提问“标题”,请参阅我对这个问题的回答,了解如何使用网址抓取原始html ... Android Dev: How do I extract data from the web and use the data in my app?

我这样做并使用名为HtmlCleaner的第三方类,它返回可以使用XPATH搜索的XML。

然而,正如已经说过的那样,可能有更好的方法来做你想要的事情,特别是CommonsWare的评论也是如此。这很痛苦,html中的最轻微的改变可能会完全抛弃你的解析代码并要求你重写东西。

答案 1 :(得分:0)

我做了一个快速的Google搜索,找不到电影院列表的Google API,但您可以看看他们是否在Google Base API中公开了这些。

一种替代方案是使用Yahoo Query Language API。他们有一个showtimes API,你可以用Java查询。以下是您使用的YQL语法:

select * from movies.showtimes

获取所有电影的列表。然后:

select * from movies.showtimes where location='myzip' and name='one of the movies'

您也可以

select * from movies.showtimes where location='myzip' and name in whatever

您可以使用控制台来发现此API提供的内容:http://developer.yahoo.com/yql/console/?env=http://datatables.org/alltables.env#h=desc%20movies.showtimes

就实现而言,我不是Java开发人员(主要是LAMP和.NET)所以我不能给你代码示例,但YQL API是一个RESTful API,因此你只需要使用请求中的正确参数,它将返回XML结果。

希望这能帮助您找到所需内容!