Question

Je veux écrire un Java de grabTopResults(String f) telle que grabTopResults("automata theory") me renvoie une liste des 100 cités des documents sur scholar.google.com pour « la théorie des automates ».

Quelqu'un at-il des suggestions pour ce que les bibliothèques vont faire de ma vie facile?

Merci!

Était-ce utile?

La solution

Comme je suis sûr que Google ne peut se permettre de la bande passante, je vais ignorer la question de savoir si cela est immoral / illégal / interdit par T & C de Google

La première chose que vous devez faire est de comprendre ce que demande HTTP (ou demandes), vous devez émettre pour obtenir la page avec les données dont vous avez besoin. Une fois que vous avez compris cela, utilisez HttpClient pour délivrer le même demander à partir du code Java. Le lien précédent montre un exemple de code qui explique comment faire.

Une fois que vous avez téléchargé le contenu de la page, vous aurez besoin d'utiliser un analyseur HTML pour extraire les données qui vous intéressent. analyseur Jericho suggéré par peperg est un bon choix.

Si la police Google viennent frapper, vous ne l'avez jamais entendu parler de moi, OK?

Autres conseils

J'utilise http://jericho.htmlparser.net/docs/index.html. Google Scholar n'a pas l'API ( http: // code.google.com/p/google-ajax-apis/issues/detail?id=109 ). Bien sûr, il n'est pas autorisé par Google (lire les termes d'utilisation. Requestr automatique sont interdits).

Voici un peu de code exemple qui obtient les titres sur la première page en utilisant le produit open source plan de test . Il est un produit autonome, mais si vous avez vraiment besoin je pourrais vous aider intégré dans votre code Java (il est écrit en Java lui-même).

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

Ce produit sortie comme ci-dessous (mon adresse IP est l'Allemagne, donc une réponse allemande). De toute évidence, vous pouvez toutefois ce format que vous voulez, ou écrire dans un fichier; c'est juste une rude épreuve.

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.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top