• Zotero期刊自动匹配更新影响因子


    现有的zotero插件中,找到可以支持更新影响因子青柠学术的Zotero IF,但它的代码没有公开,需要关注微信公众号才能获取免费版,免费版的影响因子更新也不是很及时;它的Pro版本功能更多,但需要收费,建议有需求的小伙伴去下载,创作不易,支持好用的原创工具。

    Zotero本身为开发者提供了JavaScript API,可以直接在软件里允许JavaScript(菜单栏“工具-开发者-Run JavaScript”),利用这个功能也可以匹配影响因子。hlblade/Zotero_IF提供了一段事项影响因子匹配的功能,但原作者把影响因子列表放在了脚本中,虽然简便,但不够优雅;另外,作者也没有在第一时间更新这个列表。于是我修改了一下这个脚本 commonreed/Zotero_IF,换上了昨天(2022年6月28日)发布的最新的影响因子,如下:

    var path = 'C:/Users/Administrator/Desktop/IF_2022.json';
    var data = await Zotero.File.getContentsAsync(path);
    var impact_factors = eval("(" + data + ")");
    var fieldName = "series";
    var newValue = "";
    var fieldID = Zotero.ItemFields.getID(fieldName);
    var s = new Zotero.Search();
    s.libraryID = ZoteroPane.getSelectedLibraryID();
    var ids = await s.search();
    if (!ids.length) {
        return "No items found";
    }
    await Zotero.DB.executeTransaction(async function() {
        for (let id of ids) {
            let item = await Zotero.Items.getAsync(id);
            let mappedFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(item.itemTypeID, fieldName);
            var IF = impact_factors[item.getField('publicationTitle').toLowerCase()]
            item.setField(mappedFieldID ? mappedFieldID : fieldID, newValue);
            if (IF != undefined) {
                item.setField('series', IF)
            }
            await item.save();
        }
    });
    return ids.length + " item(s) IF updated, and shown in series field!";

    可直接点击下载2022年6月发布的JCR影响因子json文件到本地,修改脚本中的path路径。另外,分享原始excel表格便于查看。

    该json文件是由csv文件在Notepad++中利用正则完成的,注意删除影响因子为N/A的行,把所有期刊名称改为小写(使用\L)。


  • 相关阅读:
    JS document.execCommand实现复制功能(带你出坑)
    jquery动态添加删除一行数据示例
    SpringBoot SpEL表达式注入漏洞-分析与复现
    Fastjson 1.2.22-24 反序列化漏洞分析
    udf提权原理详解
    ZZCMS v8.2 前台Insert注入+任意文件删除
    安恒杯 3月线上个人赛WriteUp
    SQLI LABS Stacked Part(38-53) WriteUp
    【转】Ubuntu16.04安装docker
    安装部署k8s-版本-1.13
  • 原文地址:https://www.cnblogs.com/liulele/p/16424682.html
Copyright © 2020-2023  润新知