Результат запроса из поисковых серверов в XML формате
От: maxluzin Европа  
Дата: 17.03.09 16:23
Оценка:
Камрады!

Есть такой вопрос (точнее абстрактная задача, ответ на которую "нуно" найти):

— многие поисковые серверы имеют свои собственные форматы запросов (ключевых слов),
— многие из них возвращают результаты запросов в сходном формате (заголовк, сайт, симпл из части цитаты, дату, время и т.п.),
— форматы и API поисковых серверов различные.

Собственно вопрос:

Как и каким образом из программы на "десктопе" организовывать запросы к поисковывым серверам, если предполагается, что:

— Программа на десктопе
— Программа написана на C# в среде .Net 2
— Результат "нуна" получать в формате XML

Интересующие сайты с поисковыми машинами и серверами индексации контента:

— Google
— Yandex
— Yahoo
— Altavista
— Rambler
— MSN

Какме API и форматы запросов существуют, чтоб результат возвращался в иде XML-stream или нечто подобного, поддающемуся обработке?

З.Ы. Гуглю и КЫВТ прошерстил, но (похоже) подобных запросов пока тут не было...
google search xml results
Re: Результат запроса из поисковых серверов в XML формате
От: dmz Россия  
Дата: 17.03.09 18:54
Оценка:
M>Как и каким образом из программы на "десктопе" организовывать запросы к поисковывым серверам, если предполагается, что:

M>- Программа на десктопе

M>- Программа написана на C# в среде .Net 2
M>- Результат "нуна" получать в формате XML

В яндексе API привязывается к IP адресу. Так что массовая программа будет 100% иметь проблемы. Ну либо коммерческий контракт за соответствующие деньги — тогда будет любое API.

Я бы обдирал HTML, благо, что он достаточно стабильный, не заморачиваясь с XML. В принципе, это может противоречить их ToS, но врядли это доказуемо, если программа работает на хосте пользователя и мимикрирует под браузер.
Re[2]: Результат запроса из поисковых серверов в XML формате
От: maxluzin Европа  
Дата: 17.03.09 19:24
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>В яндексе API привязывается к IP адресу. Так что массовая программа будет 100% иметь проблемы. Ну либо коммерческий контракт за соответствующие деньги — тогда будет любое API.


Да и на Гуглях почти все API из его "наборчика" требуют регистрации (может и ошибаюсь, но я так понял)...

dmz>Я бы обдирал HTML, благо, что он достаточно стабильный, не заморачиваясь с XML. В принципе, это может противоречить их ToS, но врядли это доказуемо, если программа работает на хосте пользователя и мимикрирует под браузер.


Да, я понял... Так с первого "панталыку" и думал в этом направлении... Но, думаю, что надо двигаться в сторону XML-сервисов... И, честно говоря, до сих пор удивляюсь, что такой "клондайк" до сих пор никто не создал!

Я уже "прошерстил" эту тему. Пока что кажется всё очень "стрёмно и нестабильно". Хоть агентов под каждую систему создавай! Вопросы норамлизации и унификации запросов сразу возникают... Вопросы сериализации "респондов" — это уже "третично"...

Вот меня интересует по перечисленным сайтам, как из "дотнетовского десктопа" к перечисленным сайтам лучше всего запросы организовывать...

Плагины в стиле "Адаптеров" создавать?

Каждую поисковую систему в свою "адаптерную оболочку" обвёртывать7

Re[3]: Результат запроса из поисковых серверов в XML формате
От: dmz Россия  
Дата: 18.03.09 09:41
Оценка:
M>Да и на Гуглях почти все API из его "наборчика" требуют регистрации (может и ошибаюсь, но я так понял)...

Ну, Google MAPS точно требует. Но с гуглом проще, он не требует IP — так что пользователь может самостоятельно заренистрироваться и вбить Google API Key. Но, опять же, это для Maps. Как там с поиском я не знаю.

M>Да, я понял... Так с первого "панталыку" и думал в этом направлении... Но, думаю, что надо двигаться в сторону XML-сервисов... И, честно говоря, до сих пор удивляюсь, что такой "клондайк" до сих пор никто не создал!


Как это не создал? У всех упопянутых контор есть XML-сервисы. Платите деньги, пользуйтесь на здоровье. Какие проблемы?

M>Я уже "прошерстил" эту тему. Пока что кажется всё очень "стрёмно и нестабильно". Хоть агентов под каждую систему создавай! Вопросы норамлизации и M>унификации запросов сразу возникают... Вопросы сериализации "респондов" — это уже "третично"...


Да прям нестабильно. Выдача — это текст + ссылка. Никаких проблем это разобрать. По моему, достаточно ровно одной эвристики.

M>Вот меня интересует по перечисленным сайтам, как из "дотнетовского десктопа" к перечисленным сайтам лучше всего запросы организовывать...

M>Плагины в стиле "Адаптеров" создавать?
M>Каждую поисковую систему в свою "адаптерную оболочку" обвёртывать7

Ну я бы сначала посмотрел, если ВДРУГ формат выдачи нельзя разбирать одной простой эвристикой (а я думаю, что можно) — то вынес бы обращение и разбор во внешние скрипты, а в программу внедрил бы их интерпретатор.
Re: Результат запроса из поисковых серверов в XML формате
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.03.09 22:08
Оценка:
Здравствуйте, maxluzin, Вы писали:
M>Какме API и форматы запросов существуют, чтоб результат возвращался в иде XML-stream или нечто подобного, поддающемуся обработке?
Есть стандарт http://www.opensearch.org/Specifications/OpenSearch/1.1
Некоторые его поддерживают.
M>З.Ы. Гуглю и КЫВТ прошерстил, но (похоже) подобных запросов пока тут не было...
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Результат запроса из поисковых серверов в XML формате
От: c-smile Канада http://terrainformatica.com
Дата: 28.03.09 17:32
Оценка:
Здравствуйте, 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);
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.