8

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

編集:CiteSeerXはOAI PMHをサポートしていますが、これはデジタルライブラリが相互に最新の状態に保たれている(「コンテンツの配布」)ことを目的としたAPIのようであり、検索を特にサポートしていないことに注意してください。さらに、そのページの引用者情報は非常にまばらで、「現在、OAIに問題があります」とさえ言っています。

CiteSeerX APIに関する別のSOの質問があります(特に検索はしませんが)。2つの答えは問題を解決しません(1つは別のソフトウェアであるMendeleyについて話し、もう1つはOAI-PMH実装が最小仕様の拡張を無料で提供すると述べています)。

あるいは、プログラムで著者/タイトルから引用を取得するための良い方法を誰かが提案できますか?

4

1 に答える 1

6

コメンターの1人が示唆したように、最初にjabrefを試しました:

jabref -n -f "citeseer:title:(教訓) author:(Brewer)"

ただし、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 (", ")

結果 (要約リンク URL の誤解を招く名前の「doi=...」部分) からドキュメント ID を取得し、それを CiteSeerX OAI エンジンに渡して Dublin Core XML (例: http:// citeseerx.ist.psu.edu/oai2?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:CiteSeerX.psu:10.1.1.42.2177 ); ただし、その XML には複数の dc:date 要素が含まれてしまうため、スクレイプ出力ほど有用ではありません。

残念なことに、CiteSeerX は、すべてのオープン アーカイブ/オープン アクセス レトリックにもかかわらず、人々をスクレイピングに訴えさせます。

于 2012-12-31T14:03:31.113 に答える