Как создать сайт scholar.google.com на Java? - PullRequest
2 голосов
/ 13 января 2010

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

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

Спасибо!

Ответы [ 3 ]

4 голосов
/ 13 января 2010

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

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

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

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

1 голос
/ 13 января 2010

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

0 голосов
/ 19 февраля 2010

Ниже приведен пример кода, который получает заголовки на первой странице, используя продукт с открытым исходным кодом TestPlan . Это самостоятельный продукт, но если он вам действительно нужен, я могу помочь вам интегрировать его в свой код 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...