我试图对Pubmed的Eutils服务进行一些查询。如果我在网站上运行它们,就会得到一定数量的返回记录,在本例中是13126 (链接到公共服务)。
不久前,我组装了一个python脚本来构建一个查询,以完成很多相同的任务,得到的url返回相同的点击次数(链接到Eutils结果)。
当然,没有任何正式的编程背景,这都有点排他性,所以我尝试使用Biopython做同样的事情。我认为下面的代码应该做同样的事情,但是它会返回更多的点击量,23303次。
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是如何生成的有关,因为我可以通过修改代码以在搜索词周围包含双引号来返回原来的点击次数,因此:
handle = Entrez.esearch(db='pubmed', term='"stem+cell"[ALL]', datetype='pdat', mindate='2012', maxdate='2012')我仍然对Biopython生成什么url感兴趣,因为它将帮助我解决当我想要做更复杂的搜索时,我必须如何构造搜索词。
发布于 2013-05-09 17:06:04
您已经解决了这个问题(Entrez喜欢显式双引用循环组合搜索词),但是当前生成的URL并不是通过API公开的。最简单的技巧是编辑Bio/Entrez/__init__.py文件,在_open函数中添加一个print语句。
更新: Biopython的最新版本现在将URL保存为返回句柄的属性,即在本例中尝试执行print(handle.url)
发布于 2015-11-22 08:46:44
handle = Entrez.esearch(db="pubmed", term="stem+cell[All Fields]",datetype="pdat", mindate="2012", maxdate="2012")
print(handle.url)https://stackoverflow.com/questions/16458126
复制相似问题