2012-12-29 21 views
8

CiteSeerXにプログラムでアクセスする方法はありますか(たとえば、著者やタイトルによる検索など)驚くほど関連するものは見つかりません。確かに他の人も掻爬に頼らずに学術論文のメタデータを取得しようとしているのでしょうか?citeseerx検索api

EDIT:CiteSeerX supports OAI PMHですが、これは最新のデジタルライブラリ(「コンテンツの普及」)に対応したAPIであり、特に検索をサポートしていないようです。さらに、そのページのciteseer情報は非常にまばらで、「現在、OAIには困難がある」とさえ言われています。

CiteSeerX APIについてはanotherです(特に検索はしていません)。 2つの答えは問題を解決しません(もう1つはMendeleyについて、もう1つはOAI-PMHの実装では最小限の仕様に拡張を提供することが自由だということです)。

また、作者/書籍の引用をプログラムで取得するには良い方法をお勧めしますか?

+1

JabRefはCiteSeerXをサポートしています。彼らがどのようにそれを行うのか見るにはGITを見てください:http://jabref.sourceforge.net/download.phpおそらくJabRefはあなたの本当の問題、すなわち参照管理に対する答えですか? –

+0

私は自分のWebページをスクラップして、自分のXQueryエンジンを書いて、確実にそれを実行できるようにすることをお勧めします。 – BeniBela

+0

JabRef、@ marek-cruzありがとうございます。はい、私は彼らがあまりにも(CiteSeerXFetcher.java)擦れていることがわかります。私は、CiteSeerXにはAPIがないことに驚いています(そして、彼らはサイトの状況を明らかにしていません)。 – dan3

答えて

5

コメンターの一つで示唆したように、私が最初にJabRefの試してみました:

JabRefの-n -f "citeseer:タイトル:著者(からレッスン):(ビール)"

しかし、 jabrefは、クエリ文字列がコロンを含む必要があることを認識していないようで、エラーがスローされます。検索結果を得るために

、私はPythonのBeautifulSoupでCiteSeerX結果をこすることになった:

url = "http://citeseerx.ist.psu.edu/search?q=" 
q = "title%3A%28{1}%29+author%3%28{0}%29&submit=Search&sort=cite&t=doc" 
url += q.format (author_last, title.replace (" ", "+")) 
soup = BeautifulSoup (urllib2.urlopen (url).read()) 
result = soup.html.body ("div", id = "result_list") [0].div 
title = result.h3.a.string.strip() 
authors = result ("span", "authors") [0].string 
authors = authors [len ("by "):].strip() 
date = result ("span", "pubyear") [0].string.strip (", ") 

結果から文書IDを取得することが可能である(「DOI = ...」一部誤解を招く、という名前Dublin Core XML(例:http://citeseerx.ist.psu.edu/oai2?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:CiteSeerX.psu:10.1.1.42.2177)を取得するには、CiteSeerX OAIエンジンに渡します。 XMLには複数のdc:date要素が含まれているため、スクレイプ出力よりもあまり役に立ちません。

CiteSeerXがあまりにも悪いと、公開アーカイブ/公開アクセスレトリックのすべてにかかわらず、人々が掻き集めることになります。