Если бы я хотел взять данные с веб-страницы с помощью Java, с чего бы мне начать? - PullRequest
3 голосов
/ 27 декабря 2010

Поскольку Google начал предоставлять очень хороший список кинотеатров макет, я хотел бы создать приложение для Android, чтобы пользователь мог получать информацию с этой страницы и отображать ее для области, которую он вводит.

Я не спрашиваю, как создать приложение, а с помощью Java, как мне динамически извлекать информацию с этой веб-страницы?Могу ли я разобрать его как XML?Это кажется немного сложным.

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

В буквальном смысле слова «вопрос» к вашему вопросу, см. Мой ответ на этот вопрос о том, как получить необработанный HTML-код с помощью веб-адреса ... Android Dev: Как извлечь данные из Интернета и использовать данные в моем приложении?

Я делаю это и использую сторонний класс, называемый HtmlCleaner, который возвращает XML, который можно искать с помощью XPATH.

Однако, как уже было сказано, вполне могут быть лучшие способы сделать то, что вы хотите, и комментарий от CommonsWare, в частности, слишком верен. Это больно, и малейшее изменение в html может полностью отбросить ваш код разбора и потребовать от вас переписать что-либо.

0 голосов
/ 27 декабря 2010

Я сделал быстрый поиск в Google и не смог найти API Google для списков кинотеатров, хотя вы могли видеть, предоставляют ли они их в Google Base API.

Одной из альтернатив будет использование запроса Yahoo.Язык API.У них есть API showtimes, который вы можете запрашивать в 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), поэтому я не могу дать вам примеры кода, но API YQL является API RESTful, поэтому вам просто нужно указать API с правильными параметрами взапрос и он вернет результаты XML.

Надеюсь, это поможет вам найти то, что вы ищете!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...