Есть такой вопрос (точнее абстрактная задача, ответ на которую "нуно" найти):
— многие поисковые серверы имеют свои собственные форматы запросов (ключевых слов),
— многие из них возвращают результаты запросов в сходном формате (заголовк, сайт, симпл из части цитаты, дату, время и т.п.),
— форматы и API поисковых серверов различные.
Собственно вопрос:
Как и каким образом из программы на "десктопе" организовывать запросы к поисковывым серверам, если предполагается, что:
— Программа на десктопе
— Программа написана на C# в среде .Net 2
— Результат "нуна" получать в формате XML
Интересующие сайты с поисковыми машинами и серверами индексации контента:
M>Как и каким образом из программы на "десктопе" организовывать запросы к поисковывым серверам, если предполагается, что:
M>- Программа на десктопе M>- Программа написана на C# в среде .Net 2 M>- Результат "нуна" получать в формате XML
В яндексе API привязывается к IP адресу. Так что массовая программа будет 100% иметь проблемы. Ну либо коммерческий контракт за соответствующие деньги — тогда будет любое API.
Я бы обдирал HTML, благо, что он достаточно стабильный, не заморачиваясь с XML. В принципе, это может противоречить их ToS, но врядли это доказуемо, если программа работает на хосте пользователя и мимикрирует под браузер.
Re[2]: Результат запроса из поисковых серверов в XML формате
Здравствуйте, dmz, Вы писали:
dmz>В яндексе API привязывается к IP адресу. Так что массовая программа будет 100% иметь проблемы. Ну либо коммерческий контракт за соответствующие деньги — тогда будет любое API.
Да и на Гуглях почти все API из его "наборчика" требуют регистрации (может и ошибаюсь, но я так понял)...
dmz>Я бы обдирал HTML, благо, что он достаточно стабильный, не заморачиваясь с XML. В принципе, это может противоречить их ToS, но врядли это доказуемо, если программа работает на хосте пользователя и мимикрирует под браузер.
Да, я понял... Так с первого "панталыку" и думал в этом направлении... Но, думаю, что надо двигаться в сторону XML-сервисов... И, честно говоря, до сих пор удивляюсь, что такой "клондайк" до сих пор никто не создал!
Я уже "прошерстил" эту тему. Пока что кажется всё очень "стрёмно и нестабильно". Хоть агентов под каждую систему создавай! Вопросы норамлизации и унификации запросов сразу возникают... Вопросы сериализации "респондов" — это уже "третично"...
Вот меня интересует по перечисленным сайтам, как из "дотнетовского десктопа" к перечисленным сайтам лучше всего запросы организовывать...
Плагины в стиле "Адаптеров" создавать?
Каждую поисковую систему в свою "адаптерную оболочку" обвёртывать7
Re[3]: Результат запроса из поисковых серверов в XML формате
M>Да и на Гуглях почти все API из его "наборчика" требуют регистрации (может и ошибаюсь, но я так понял)...
Ну, Google MAPS точно требует. Но с гуглом проще, он не требует IP — так что пользователь может самостоятельно заренистрироваться и вбить Google API Key. Но, опять же, это для Maps. Как там с поиском я не знаю.
M>Да, я понял... Так с первого "панталыку" и думал в этом направлении... Но, думаю, что надо двигаться в сторону XML-сервисов... И, честно говоря, до сих пор удивляюсь, что такой "клондайк" до сих пор никто не создал!
Как это не создал? У всех упопянутых контор есть XML-сервисы. Платите деньги, пользуйтесь на здоровье. Какие проблемы?
M>Я уже "прошерстил" эту тему. Пока что кажется всё очень "стрёмно и нестабильно". Хоть агентов под каждую систему создавай! Вопросы норамлизации и M>унификации запросов сразу возникают... Вопросы сериализации "респондов" — это уже "третично"...
Да прям нестабильно. Выдача — это текст + ссылка. Никаких проблем это разобрать. По моему, достаточно ровно одной эвристики.
M>Вот меня интересует по перечисленным сайтам, как из "дотнетовского десктопа" к перечисленным сайтам лучше всего запросы организовывать... M>Плагины в стиле "Адаптеров" создавать? M>Каждую поисковую систему в свою "адаптерную оболочку" обвёртывать7
Ну я бы сначала посмотрел, если ВДРУГ формат выдачи нельзя разбирать одной простой эвристикой (а я думаю, что можно) — то вынес бы обращение и разбор во внешние скрипты, а в программу внедрил бы их интерпретатор.
Re: Результат запроса из поисковых серверов в XML формате
Здравствуйте, maxluzin, Вы писали: M>Какме API и форматы запросов существуют, чтоб результат возвращался в иде XML-stream или нечто подобного, поддающемуся обработке?
Есть стандарт http://www.opensearch.org/Specifications/OpenSearch/1.1 Некоторые его поддерживают. M>З.Ы. Гуглю и КЫВТ прошерстил, но (похоже) подобных запросов пока тут не было...
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Результат запроса из поисковых серверов в XML формате
Здравствуйте, maxluzin, Вы писали:
M>Интересующие сайты с поисковыми машинами и серверами индексации контента:
M>- Google M>- Yandex M>- Yahoo M>- Altavista M>- Rambler M>- MSN
У каждого сервиса свой формат. Т.е. придется писать "драйвера"
M>Какме API и форматы запросов существуют, чтоб результат возвращался в иде XML-stream или нечто подобного, поддающемуся обработке?
Например так выглядит запрос "найти картинку" из Sciter на Yahoo:
function on_ImageSearch_click()
{
var params =
{
"appid" : "thesciter",
"query" : $(#query).value,
"type" : "all",
"results" : 10,
"start" : 1,
"format" : "any",
"output" : "json"// а может быть и XML
}
var result = indicator.request(5000, #get, "http://search.yahooapis.com/ImageSearchService/V1/imageSearch", params);
show(result);
}