首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BioPython Pubmed url?

BioPython Pubmed url?
EN

Stack Overflow用户
提问于 2013-05-09 09:04:51
回答 2查看 956关注 0票数 3

我试图对Pubmed的Eutils服务进行一些查询。如果我在网站上运行它们,就会得到一定数量的返回记录,在本例中是13126 (链接到公共服务)。

不久前,我组装了一个python脚本来构建一个查询,以完成很多相同的任务,得到的url返回相同的点击次数(链接到Eutils结果)。

当然,没有任何正式的编程背景,这都有点排他性,所以我尝试使用Biopython做同样的事情。我认为下面的代码应该做同样的事情,但是它会返回更多的点击量,23303次。

代码语言:javascript
复制
from Bio import Entrez
Entrez.email = "A.N.Other@example.com"
handle = Entrez.esearch(db="pubmed", term="stem+cell[All Fields]",datetype="pdat", mindate="2012", maxdate="2012")
record = Entrez.read(handle)
print(record["Count"])

我非常肯定,这只是在如何生成url方面的一些微妙之处,但我不知道如何查看由Biopython生成的url。有人能给我指点吗?

谢谢!

编辑:

这与url是如何生成的有关,因为我可以通过修改代码以在搜索词周围包含双引号来返回原来的点击次数,因此:

代码语言:javascript
复制
handle = Entrez.esearch(db='pubmed', term='"stem+cell"[ALL]', datetype='pdat', mindate='2012', maxdate='2012')

我仍然对Biopython生成什么url感兴趣,因为它将帮助我解决当我想要做更复杂的搜索时,我必须如何构造搜索词。

EN

回答 2

Stack Overflow用户

发布于 2013-05-09 17:06:04

您已经解决了这个问题(Entrez喜欢显式双引用循环组合搜索词),但是当前生成的URL并不是通过API公开的。最简单的技巧是编辑Bio/Entrez/__init__.py文件,在_open函数中添加一个print语句。

更新: Biopython的最新版本现在将URL保存为返回句柄的属性,即在本例中尝试执行print(handle.url)

票数 1
EN

Stack Overflow用户

发布于 2015-11-22 08:46:44

代码语言:javascript
复制
handle = Entrez.esearch(db="pubmed", term="stem+cell[All Fields]",datetype="pdat", mindate="2012", maxdate="2012")
print(handle.url)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16458126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档