第76期 软件教程!实用:如何使用noteexpress批量获取知网全文并导入zotero

有时候我们会遇到这种情况,导师发来了一个包含百+甚至千+条目的题录,都是知网文献,希望检索到全文

这种情况下使用学校合作的noteexpress是不错的选择,可以批量获取到知网全文

但是noteexpress的PDF阅读体验并不好,希望导出到zotero阅读,但noteexpress导出格式只能导出条目信息,无法把附件一起导出

本期教程主要介绍如何将noteexpress导出ris时附带附件路径,一起导入zotero

牛马或许会用到

使用效果

image.png

Noteexpress获取全文

  • 如何将题录导入noteexpress不在本期范围
  • 导出noteexpress题录image.png

导出ris题录文件

  • 在文件夹或选中条目后右键即可导出题录
  • 这个题录用记事本打开后复制可直接剪贴板导入zotero
  • 但是这样直接导入是没有附件的,我们接下来要在ris文件中添加附件路径
    image.png

找到noteexpress附件路径

  • noteexpress附件路径就在仓库的目录下的attachment文件夹
  • 文件夹结构与软件内一致
  • 找出自己导出题录的附件的文件夹
  • 比如我导出了计算机翻译文件夹下的题录,就去attachment中找计算机翻译文件夹之后会用到
  • image.png

修改RIS文件,添加附件路径

  • 实现条件:notexpress附件的路径没有加密,在附件文件夹中非常直观
  • 路径添加到ris之后导入条目就可以顺便导入附件
  • 手动添加附件路径L1这一步手动也能达成目的,但是如果条目几百个,一个个修改ris条目非常不现实,接下来提供python代码和打包应用帮助大家简单实现ris批量修改
  • image.png

使用python代码实现

  • 非常抱歉没有注释的习惯,代码根据附件文件夹和条目信息生成附件项给zotero识别
  • noteexpress默认情况下附件文件名就是条目名,这是代码的基础。如果不是的话可以在noteexpress设置的附件管理器中重命名
  • 实现的目的是提供ris的路径以及附件文件夹的路径两个参数,即可实现新的ris直接复制到剪贴板一键导入zotero
  • 函数代码如下
def generate_pdf_paths_for_ris_entries(ris_file_path, folder_path):
    with open(ris_file_path, 'r', encoding='utf-8') as file:
	    ris_content = file.read()
    updated_entries = []
    entries = ris_content.strip().split('ER  -\n')
    for entry in entries:
        lines = entry.split('\n')
        new_entry = []
        for i, line in enumerate(lines):
            new_entry.append(line)
            if line.startswith('TI  - '):
                title = line.replace('TI  - ', '').strip()
                safe_title = title.replace(':', '-').replace('/', '-').replace('\\', '-')
                pdf_path = f"L1  - {folder_path}/{safe_title}.pdf"
                new_entry.append(pdf_path)  # 将PDF路径添加到标题行之后

        updated_entry = '\n'.join(new_entry)
        updated_entries.append(updated_entry)
    updated_entries_list='\n\nER  -\n\n'.join(updated_entries) + '\n\nER  -'
    print(updated_entries_list)
    # 输出或保存更新后的RIS内容
    # 将更新后的RIS内容复制到剪贴板
    pyperclip.copy(updated_entries_list)
    print("Updated RIS content has been copied to clipboard.")

打包成应用可直接使用

  • 考虑到部分朋友没有python条件,将代码打包后放在后台,回复“240130获取”
  • 使用流程image.png