正如其中一位评论者所建议的那样,我首先尝试了 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 使人们尽管有所有开放档案/开放访问的言论,但仍会求助于抓取。