xml - 给定一个引用表,如何为每个引用反向查找数字对象标识符?

标签 xml r web-scraping mechanize doi

我有一个引用表,其中包括第一作者的姓氏、标题、期刊、年份和每个引用的页码。

我已经在 Google Docs 上发布了表格的前几行;它也以 CSV file 的形式提供. (请注意,有些记录没有有 DOI。)

我希望能够查询这些引文中的每一个的 DOI。对于标题,最好查询能够处理某种形式的模糊匹配。

我该怎么做?

该表目前在 MySQL 中,但以 CSV 文件开始和结束就足够了,或者,因为我主要使用 R,所以使用 R 数据框。 (我将不胜感激从头到尾的回答。)

最佳答案

我不知道有任何完整的包或函数已经做到了这一点,但这是我会使用的一般方法。 Crossref DOI 注册机构提供了一种基于 Web 的方法,用于从书目数据中确定 DOI https://www.crossref.org/guestquery/ .

在该页面上有几种不同的搜索方式,包括最后一种采用 XML 格式搜索的方式。该页面包含有关如何创建适当的 XML 的信息。您需要通过 HTTP 提交 XML(通过拆分页面来确定详细信息以确定表单目标和需要包含的任何其他信息),然后解析响应。

此外,您需要验证以自动方式执行此操作不会以任何方式违反网站的服务条款。


下面是 Crossref 免费 DOI 查询的 XML 格式,其中可搜索的词包括 article_title, author, year, journal_titlevolumefirst_page:

<?xml version = "1.0" encoding="UTF-8"?>
<query_batch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xmlns="http://www.crossref.org/qschema/2.0"
  xsi:schemaLocation="http://www.crossref.org/qschema/2.0 http://www.crossref.org/qschema/crossref_query_input2.0.xsd">
<head>
   <email_address>test@crossref.org</email_address>
   <doi_batch_id>test</doi_batch_id>
</head>
<body>
  <query enable-multiple-hits="false|exact|multi_hit_per_rule|one_hit_per_rule|true"
            list-components="false"
            expanded-results="false" key="key">
    <article_title match="fuzzy"></article_title>
    <author search-all-authors="false"></author>
    <component_number></component_number>
    <edition_number></edition_number>
    <institution_name></institution_name>
    <isbn></isbn>
    <issn></issn>
    <volume></volume>
    <issue></issue>
    <year></year>
    <first_page></first_page>
    <journal_title></journal_title>
    <proceedings_title></proceedings_title>
    <series_title></series_title>
    <volume_title></volume_title>
    <unstructured_citation></unstructured_citation>
  </query>
</body>
</query_batch>

关于xml - 给定一个引用表,如何为每个引用反向查找数字对象标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711539/

相关文章:

python - 将网球结果表(包括比赛)刮到每一行

python - 将抓取的内容保存到 Sqlite3 数据库 - 如何?

javascript - 用于解释页面和返回页面信息的谷歌浏览器库/api

xml - 用于解析 SOAP 响应的 XPath

java - TextViews 和 Intents 问题

r - 在矩阵列表上简化应用、应用表达式

从 ggplot2 中的 geom_smooth 中删除线

xml - 如何从 XPath 返回的数组中将数据插入到配置单元表中

Java XStream 无法解析类异常

r - 分组数据之间的横截面相关性并总结在 latex 表中