8

有没有办法以编程方式访问CiteSeerX(例如按作者和/或标题搜索?)令人惊讶的是,我找不到任何相关的东西;肯定其他人也在尝试获取学术文章元数据而不求助于抓取吗?

编辑:请注意,CiteSeerX支持OAI PMH,但这似乎是一个面向数字图书馆的 API(“内容传播”),并不专门支持搜索。此外,该页面上的 citeseer 信息非常稀少,甚至说“目前,OAI 存在困难”。

还有一个关于 CiteSeerX API 的 SO question(虽然不是专门搜索);2 个答案没有解决问题(一个谈到 Mendeley,另一个软件,另一个说 OAI-PMH 实现可以免费提供对最小规范的扩展)。

或者,任何人都可以提出一种以编程方式从作者/标题中获取引文的好方法吗?

4

1 回答 1

6

正如其中一位评论者所建议的那样,我首先尝试了 jabref:

jabref -n -f "citeseer:title:(来自) 作者:(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 (", ")

可以从结果中获取文档 ID(摘要链接 URL 中误导性命名为“doi=...”的部分),然后将其传递给 CiteSeerX OAI 引擎以获取都柏林核心 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 回答