Domanda

Voglio scrivere un grabTopResults(String f) Java func tale che grabTopResults("automata theory") mi restituisce una lista dei top 100 citati documenti su scholar.google.com per "teoria degli automi".

Qualcuno ha suggerimenti per quali librerie renderanno la vita facile?

Grazie!

È stato utile?

Soluzione

Come sono sicuro che Google può permettersi la larghezza di banda, io ignorare la questione se questo è immorale / illegali / proibiti da Google T & C

La prima cosa che devi fare è capire che cosa richiesta HTTP (o richieste) è necessario emettere al fine di ottenere la pagina con i dati necessari. Una volta che hai capito questo, utilizzare HttpClient di emettere la stessa richiedere da codice Java. Il collegamento precedente dimostra esempio di codice che spiega come fare questo.

Una volta scaricato il contenuto della pagina in questione, sarà necessario utilizzare un parser HTML per estrarre i dati che ti interessa. Il Jericho parser suggerito da peperg è una buona scelta.

Se la polizia di Google venire a bussare, non hai mai sentito parlare di me, OK?

Altri suggerimenti

http://jericho.htmlparser.net/docs/index.html. Google Scholar non ha API ( http: // code.google.com/p/google-ajax-apis/issues/detail?id=109 ). Naturalmente non è consentito da Google (leggere i termini d'uso. Requestr automatico sono vietate).

Di seguito è riportato un po 'di esempio di codice che ottiene i titoli in prima pagina utilizzando il prodotto open source testplan . Si tratta di un prodotto stand-alone, ma se si ha realmente bisogno mi potrebbe aiutare integrandola nel proprio codice Java (è scritto in Java per sé).

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

Questo produce un output come il seguente (il mio IP è la Germania, così una risposta tedesco). Ovviamente si potrebbe formattarla come più vi piace, o scrivere in un file; questo è solo un test di massima.

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.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top