摘要:在科研文献管理中,研究人员常常需要维护自己的文献数据库,我使用 Notion-database 作为的文献数据库管理工具(开源模板)。Notion-based 的方法无法实时更新文章的引用量信息。我结合了 Notion Integration 和 scholarly 两种工具,实现 Python 自动化脚本获取文章在谷歌学术的引用量等信息,高效自动更新 Notion-based 文献数据库。
代码:https://github.com/Vincia-Jun/Notion-Citation-Updater
🤖 Notion Integration
Notion Integration 通过 Notion-API 可以让我们以编程方式与 Notion 进行连接和交互。
- Step1:点击这里创建你的 Notion Inception。
- Step2:复制“Internal Integration Secret”,它作为 Python 中用于访问数据库的密钥。
- Step3:进入你想控制的数据库页面,单击页面右上角的“...”菜单,将此页面连接到你刚刚创建的 Notion Inception。
此时,您的 Notion Inception 现在可以访问您的数据集/页面。你可以使用 Python 与此数据库交互,执行更新条目或创建新页面等操作。有关数据库访问和修改操作,请参考 notion_demo.ipynb 文件。它展示了如何使用 Python 更新所有页面的“引用”属性值 - 例如,将其设置为 99:
🔎 scholarly module
Scholarly 是一个 Python 包,用于访问和解析 Google Scholar 的数据。它允许用户自动化地获取学术论文的信息,包括作者、标题、引用次数等。此处我们仅使用了如下函数,以获取单篇文献的信息:
search_query = scholarly.search_single_pub('attention is all you need')
你可以从 scholarly_demo.ipynb 文件找到该函数的输出示例,Scholarly 不仅仅局限于单篇文献信息的查询,还可以根据特定关键字、日期等筛选条件进行高级检索,更多功能请移步至库函数文档:https://github.com/scholarly-python-package
🚩Quick Start
最后,确保你已经按照上述完成了 Notion Integration 和 scholarly 的配置工作。在 paperbot_pool.py 文件中,将 database_id, integration_token 变量替换为你自己的内容,那么:Python,启动!
python paperbot_pool.py
🤝 Acknowledgement
这篇文章提供了 Notion + Python 实现自动化工作流的简单示例。我们可以轻松地将此代码适配到 Notion 中需要批量数据更新的任何场景。
特别感谢知乎用户 ZZZzzz 分享的基于 Notion 的文献管理模板,在她的基础上,我进一步提升了基于 Notion 的文献管理效率,希望给依赖 Notion 管理参考文献的用户带来更多便利。如果觉得有用,请给个star⭐!