0

我想通过python查询pubmed。我找到了一个很好的生物学相关库来做到这一点:http: //biopython.org/DIST/docs/tutorial/Tutorial.html

我在这里找到了一些示例代码:http: //biopython.org/DIST/docs/tutorial/Tutorial.html#htoc116

from Bio import Entrez
Entrez.email = "A.N.Other@example.com"     
handle = Entrez.egquery(term="orchid")
record = Entrez.read(handle)
for row in record["eGQueryResult"]:
  if row["DbName"]=="pubmed":
    print row["Count"]

当我更改电子邮件并运行此代码时,我收到以下错误:

Traceback (most recent call last):
  File "pubmed.py", line 15, in <module>
    handle = Entrez.egquery(term=my_query)
  File "/usr/lib/pymodules/python2.7/Bio/Entrez/__init__.py", line 299, in egquery
    return _open(cgi, variables)
  File "/usr/lib/pymodules/python2.7/Bio/Entrez/__init__.py", line 442, in _open
    raise exception
urllib2.HTTPError: HTTP Error 404: Not Found

问题的根源没有太多线索。我不知道它试图访问什么网址。当我搜索“pubmed entrez urllib2.HTTPError: HTTP Error 404: Not Found”时,我得到 8 个结果,其中没有一个是相关的(除了这个线程)。

4

1 回答 1

1

这个例子对我有用。看起来这是一个临时的 NCBI 问题,尽管“错误 404”非常不寻常,并且不是我在 Entrez 中看到的典型网络问题。一般来说,对于任何网络资源,在担心出现问题之前给它几个小时或一天的时间。

还有一个您可能希望订阅的 Entrez Utilities 公告邮件列表,尽管如果最近有计划的服务中断,这里没有提到: http ://www.ncbi.nlm.nih.gov/mailman/listinfo/utilities -宣布

于 2012-12-31T12:52:46.620 回答