Вопрос

Я хочу написать Java-функцию grabTopResults(String f) такой , что grabTopResults("automata theory") возвращает мне список 100 лучших цитируемых статей по scholar.google.com для "теории автоматов".

Есть ли у кого-нибудь предложения относительно того, какие библиотеки облегчат мою жизнь?

Спасибо!

Это было полезно?

Решение

Поскольку я уверен, что Google может позволить себе пропускную способность, я проигнорирую вопрос о том, является ли это аморальным / незаконным / запрещенным T & C Google

Первое, что вам нужно сделать, это выяснить, какой HTTP-запрос (или запросы) вам нужно выполнить, чтобы получить страницу с нужными вам данными.Как только вы разберетесь в этом, используйте С помощью HttpClient выдать тот же запрос из Java-кода.По предыдущей ссылке показан пример кода, объясняющий, как это сделать.

После того как вы загрузили содержимое соответствующей страницы, вам нужно будет использовать анализатор HTML для извлечения интересующих вас данных.В Анализатор Иерихона предложенный peperg - хороший выбор.

Если полиция Google постучит в дверь, вы никогда не слышали обо мне, хорошо?

Другие советы

Я использую http://jericho.htmlparser.net/docs/index.html .У Google Scholar нет API ( http://code.google.com/p/google-ajax-apis/issues/detail?id=109 ).Конечно, Google не разрешает это (ознакомьтесь с условиями использования.Автоматические запросы запрещены).

Ниже приведен небольшой пример кода, который получает заголовки на первой странице с использованием продукта с открытым исходным кодом План тестирования.Это отдельный продукт, но если он вам действительно нужен, я мог бы помочь вам интегрировать его в ваш Java-код (он написан на самой Java).

GotoURL http://scholar.google.com/

SubmitForm with
    %Params:q% automate theory
end

set %Items% as response //div[@class='gs_r']
foreach %Item% in %Items%
    set %Title% as selectIn %Item% h3
    Notice %Title%
end

Это приводит к выводу, подобному приведенному ниже (мой IP-адрес - Германия, таким образом, ответ на немецком языке).Очевидно, что вы могли бы отформатировать его так, как вам нравится, или записать в файл;это всего лишь грубый тест.

00000000-00 GOTOURL http://scholar.google.com/
00000001-00 SUBMITFORM default
00000002-00 NOTICE [ZITATION] Stochastic complexity in statistical inquiry theory
00000003-00 NOTICE AUTOMATED THEORY FORMATION IN MATHEMATICS1
00000004-00 NOTICE Constraint generation via automated theory formation
00000005-00 NOTICE [BUCH] Automated theorem proving: after 25 years
00000006-00 NOTICE [BUCH] Introduction to the Theory of Computation
00000007-00 NOTICE [ZITATION] Computer-controlled systems: theory and design
00000008-00 NOTICE [BUCH] … , randomness & incompleteness: papers on algorithmic information theory
00000009-00 NOTICE [BUCH] Automatic control systems
00000010-00 NOTICE [BUCH] VLSI physical design automation: theory and practice
00000011-00 NOTICE Singular Control Systems.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top