#java #web-services
#java #веб-сервисы
Вопрос:
Я хочу заняться некоторой разработкой на Java. Я хотел бы иметь возможность доступа к веб-сайту, скажем, например
www.chipotle.com
В правом верхнем углу у них есть место, где вы можете ввести свой почтовый индекс, и он выдаст вам все ближайшие местоположения. У программы будет просто пустое поле для ввода пользователем своего почтового индекса, и она запросит фактический сервер chipotle для получения ближайших местоположений. Как мне это сделать, а также как хранятся данные, которые я получаю?
Вероятно, это будет следующий вопрос о том, какие методы я должен использовать для анализа данных.
Спасибо!
Ответ №1:
Сначала вам нужно знать параметры, необходимые для выполнения запроса, и URL, на который должны быть отправлены эти параметры (атрибут action формы). При этом вашему приложению придется выполнить HTTP-запрос к URL-адресу с вашими собственными параметрами (возможно, только с почтовым индексом). Наконец, проанализируйте ответ.
Это можно сделать с помощью стандартных классов Java API, но это будет не очень надежно. Лучшим решением был бы HttpClient. Вот несколько примеров.
Ответ №2:
Вероятно, это будет следующий вопрос о том, какие методы я должен использовать для анализа данных.
Это очень сильно зависит от того, что на самом деле возвращает веб-сайт.
-
Если он возвращает статический HTML, следует использовать обычный (строгий) или разрешающий синтаксический анализатор HTML.
-
Если он возвращает динамический HTML (т. Е. HTML со встроенным Javascript), вам, возможно, потребуется использовать что-то, что оценивает Javascript как часть процесса извлечения содержимого.
-
Также может существовать веб-API, предназначенный для использования программами (подобными вашей). Такой API обычно возвращает результаты в виде XML или JSON, так что вам не нужно извлекать результаты из HTML-документа.
Прежде чем идти дальше, вы должны проверить Условия предоставления услуг для сайта. Говорят ли они что-нибудь о том, что вы предлагаете сделать?
Многие сайты НЕ ХОТЯТ, чтобы люди очищали их контент или предоставляли оболочки для своих сервисов. Например, если они получают доход от рекламы, показываемой на их сайте, то то, что вы предлагаете сделать, может привести к отвлечению посетителей на их сайт и, как следствие, потере потенциального или фактического дохода.
Если вы не соблюдаете ToS веб-сайта, вы можете получать письма от юристов… или хуже. Кроме того, они, возможно, уже используют технические средства, чтобы усложнить жизнь людям, пытающимся улучшить качество их сервиса.