我正在开发一个需要与Genia语料库一起工作的项目。根据文献,Genia Corpus是通过在Medline / Pubmed上搜索3个Mesh术语:“转录因子”,“血细胞”和“人类”提取的文章制成的。我想从Pubmed中为Genia语料库中的文章提取全文(可免费获得)。我尝试了很多方法,但我无法找到以文本或XML或Pdf格式下载全文的方法。
使用NCBI提供的Entrez utils:
我尝试过使用这里提到的方法 - http://www.hpa-bioinformatics.org.uk/bioruby-api/classes/Bio/NCBI/REST/EFetch/Methods.html#M002197
使用Ruby gem Bio这样获取给定PubMed ID的信息 - 生物:: NCBI :: REST :: EFetch.pubmed(15496913)
但是,它并没有返回PMID的全文。
在内部,它会像这样打电话 - http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=1372388&retmode=text&rettype=medline
但是,Ruby gem和上面的调用都没有返回全文。
在进一步的互联网搜索中,我发现PubMed for rettype和retmode的允许值不具备获取全文的选项,如下表所示 - http://www.ncbi.nlm.nih.gov/books/NBK25499/table/chapter4.T._valid_values_of__retmode_and/?report=objectonly
我在互联网上看到的所有示例和其他脚本都只是提取摘要。作者等,并没有讨论提取全文。
这是我发现的另一个使用Python包Bio的链接,但只访问有关作者的信息 - https://www.biostars.org/p/172296/
如何使用NCBI提供的Entrez utils以文本或XML或Pdf格式下载文章的全文?或者我是否可以使用可用的脚本或网络爬虫?
答案 0 :(得分:2)
您可以使用customPage.ts
获取PubMedCentral上的文章,然后从中获取PDF。对于托管在其他地方的所有文章,很难获得通用的解决方案来获取PDF。
PubMedCentral似乎不希望您批量下载文章。通过import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
import {FORM_DIRECTIVES, FormBuilder, ControlGroup, Validators, AbstractControl } from '@angular/common';
@Component({
templateUrl: 'build/pages/create-new/create-new.html',
directives: [FORM_DIRECTIVES]
})
export class CreateNewPage{
private hideCreateButton: boolean = true;
public hidebutton(): boolean {
return this.hideCreateButton;
}
}
的请求被屏蔽,但相同的网址可以在浏览器中使用。
biopython
答案 1 :(得分:0)
我正在使用ruby解决完全相同的问题。到目前为止,通过使用ruby执行以下操作,我获得了适度的成功:
它绝不是直截了当的,但仍然没有那么糟糕。有一颗宝石声称也会这样做(https://github.com/billgreenwald/Pubmed-Batch-Download)。我计划尽快测试一下。