获取并分析所有plos文章

allofplos的Python项目详细描述


Build Status

所有公共图书馆(all of plos)

版权所有(c)2017,公共科学图书馆。麻省理工学院执照,见 有关详细信息,请参阅license.txt。

为什么要放弃?

用于下载/更新/维护所有plo的存储库 XML文章文件。这可以用来复制plos文本 用于进一步分析的语料库。使用此程序下载所有plos xml 文章文件而不是网页抓取。

注意:此软件不稳定,我们认为它处于beta状态,将 在1.0版之前处于此阶段。这意味着编程接口 可能会改变,在新版本之后,可能需要完整的语料库下载。

安装说明

此程序需要Python3.4+。

创建虚拟环境:

$ virtualenv allofplos

使用pip:

(allofplos)$ pip install allofplos

这应该安装allofplos和需求。在这个阶段你已经准备好了。

如果要从源代码手动安装(例如用于开发目的),请首先克隆项目存储库:

(allofplos)$ git clone git@github.com:PLOS/allofplos.git

在新创建的虚拟环境中安装python依赖项:

(allofplos)$ pip install -r requirements.txt

如何运行程序

执行以下命令。

(allofplos)$ python -m allofplos.update

它第一次运行时将下载一个4.4 GB的zip文件 (allofplos_xml.zip)中包含所有XML文件。 注意:确保设备中有足够的空间用于 在运行此命令之前压缩文件及其内容(至少30GB)。 下载此文件后,它会将其内容提取到 allofplos_xml目录在allofplos的安装中。

如果要查看安装此文件的文件系统上的目录,请运行

python -c "from allofplos import get_corpus_dir; print(get_corpus_dir())"

如果你以前下载过语料库,它将使 对现有语料库进行更新。脚本:

  • 检查并下载到临时文件夹中已发布的单个新文章
  • 检查这些新文章是否正确(以及 链接的更正文章是否已更新)
  • 检查是否有未修正的VOR(记录版本) 在主文章目录中进行校对并下载
  • 检查新下载的文章是否是未更正的证据 或者不在所有这些检查之后,它将新的文章移动到 主文章文件夹。

下面是典型运行时打印语句的外观:

147 new articles to download.
147 new articles downloaded.
3 amended articles found.
0 amended articles downloaded with new xml.
Creating new text list of uncorrected proofs from scratch.
No new VOR articles indexed in Solr.
17 VOR articles directly downloaded.
17 uncorrected proofs updated to version of record. 44 uncorrected proofs remaining in uncorrected proof list.
9 uncorrected proofs found. 53 total in list.
Corpus started with 219792 articles.
Moving new and updated files...
164 files moved. Corpus now has 219939 articles.

如何运行测试

要运行测试,需要安装allofplos及其测试 依赖关系。这些测试依赖项包括pytest,我们将使用它 运行测试。

要获得所有的allofplos测试依赖项,请运行:

(allofplos)$ pip install -U allofplos[test]

然后当您运行时:

(allofplos)$ pytest --pyargs allofplos

它应该返回如下内容:

collected 20 items

allofplos/tests/test_corpus.py ............                       [ 60%]
allofplos/tests/test_unittests.py ........                        [100%]

==================== 20 passed in 0.36 seconds =========================

社区指南

如果你想为这个项目做贡献,请在 位于https://github.com/PLOS/allofplos/issues的Github回购协议。支持 请求写入mining@plos.org

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用唯一的按钮标签单击按钮   代码生成如何使用Java codeModel为数组的特定索引赋值   java如何批量执行Camel SQL插入   java iText 7将ltv添加到现有签名   内存管理Java应用程序突然停止几天后(810)   带MySQL的java注册表单JavaFX在intellij中失败   如何使用eclipse为windows azure java项目启用远程调试   一种通用的java输入输出设计模式   java Android XML(RSS)忽略引号(“”)   java帮助:安卓中的8 X 10 2维按钮数组   java启动Android项目   JWrapper构建java应用程序   java如何在Android应用程序中设置基于日期/时间的默认页面加载?   java循环程序在完成后返回到起点   java Hibernate:更好的整体类还是多类映射?   回溯数独解算器的递归问题[Java]   java查找类用法   java如何在SpringWebFlow中将多个模型绑定到一个视图?