Papers Read Helper

阅读外文Paper辅助记录和翻译工具。
将文章从在线网页版、html文件或pdf文件,格式化为中英文对照翻译的markdown文本。

Files Tree

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
./Papers-Read-Helper/
┌─paper2md
│ ├─ paper2md.py
│ ├─ main.py
│ ├─ get_soup.py
│ ├─ read_html.py
│ ├─ read_pdf.py
│ ├─ translate.py
│ ├─ __init__.py
│ └─ __main__.py
├─test
│ ├─ test.py
│ └─ test.txt
├─ .gitignore
├─ LICENSE
├─ README.md
└─ requirements.txt

Introduction

  • 主要目的是支持文献的html内容提取和翻译,也同时支持了pdf文本提取和纯文本仅翻译功能。
  • 提供四种模式:0: url mod, 1: .html mod, 2: .pdf mod, 3: .md or .txt mod (translate only)
    • 模式会根据输入的参数自动选择。
    • 输入url时,下载html文件,从html文件中提取内容,翻译,输出并新建文件
    • 输入html时,从html文件中提取内容,翻译,输出并新建文件
    • 输入pdf时,从pdf中提取文字信息,翻译,输出并新建文件
    • 输入为纯文本文件时,直接翻译内容,输出并新建文件
  • 输入参数有src, db='', is_trans=False, trans_only=False,分别为输入网址或文件名,文章所在数据库(默认为空),是否翻译(默认为否),是否仅翻译(默认为否)
  • 文章数据库支持陆续增加,详见Supported Database部分

Supported Database

数据库 网址
Royal Society of Chemistry https://pubs.rsc.org/
Wiley Online Library https://onlinelibrary.wiley.com/
Nature https://www.nature.com/

How to use?

  • 环境
    • python3 及依赖模块pip install -r requirements.txt
    • git clone https://github.com/greedbob/Papers-Read-Helper.git
  • 下面部分面向无经验者介绍,可以跳过直接参考Test Example部分
  • 命令行
    • 准备好测试用的网址/html文件/txt/md文件,放在本仓库目录内。
    • 在本仓库根目录下打开终端
    • python进入python console
    • from paper2md import Paper2Markdown
    • paper2md.paper2markdown('rsc.html', 'rsc', is_trans=True) # 使用测试用例的html文件,下载地址见下文
  • 脚本调用
    在本仓库根目录文件夹内编写py脚本并执行,提供测试脚本test.py如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    from paper2md import Paper2Markdown


    def html_nature_example(reader): # 模式0:通过网址获取html文件,提取信息并翻译 参数:网址,文章所在数据库,是否翻译
    reader.paper2markdown('https://www.nature.com/articles/s41586-020-1994-5', 'nature', is_trans=True)


    def html_file_rsc_example(reader): # 模式1:提取html文件中的有效信息并翻译 参数:html文件名,文章所在数据库,是否翻译
    reader.paper2markdown('rsc.html', 'rsc', is_trans=True)


    def pdf_example(reader): # 模式2:提取pdf文件中的有效信息并翻译 参数:pdf文件名,是否翻译
    reader.paper2markdown('batteries.pdf', is_trans=False)


    def text_example(reader): # 模式3:无需提取信息,直接翻译提供的纯文本(txt/md等格式) 参数:文件名,是否仅翻译
    reader.paper2markdown('test.txt', trans_only=True)


    if __name__ == '__main__':
    paper2md = Paper2Markdown()
    text_example(paper2md)

Test Example

  • 详见.\test\目录
  • 测试文件:
  • 将测试用文件储存于test文件夹下,修改好tset.py
  • 运行脚本

Contribute

  • 其他数据库的解析
  • 需登录加载或延迟加载的html获取

MIT License
Copyright (c) 2020 @greedbob Paper2Markdown

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×