1

这个链接让我从数据库中获取一个随机项目。但是,我想使用 Python 自动检索项目。这是我的代码:

import sys
from urllib.parse import urlencode
from urllib.request import urlopen

# parameters
data = {}
data["query"] = "reviewd:yes+AND+organism:9606"
data["random"] = "yes"

url_values = urlencode(data)
url = "http://www.uniprot.org/uniprot/"
full_url = url + '?' + url_values
data = urlopen(full_url)
out = open("1.html", 'w')
out.write(str(data.read()))

但是,我无法获得所需的页面。有人知道我的代码有什么问题吗?我正在使用 Python 3.x。

4

1 回答 1

0

你有几个问题:

  1. reviewd拼写错误,应该是reviewed
  2. 基本网址需要/uniprot/在末尾
  3. 您需要+在查询字符串中使用空格而不是

这就是它的样子:

import sys
from urllib.parse import urlencode
from urllib.request import urlopen

# parameters
data = {}
data["query"] = "reviewed:yes AND organism:9606"
data["random"] = "yes"

url_values = urlencode(data)
url = "http://www.uniprot.org/uniprot/"
full_url = url + '?' + url_values
data = urlopen(full_url)
out = open("1.html", 'w')
out.write(str(data.read()))

这会产生以下 URL:

http://www.uniprot.org/uniprot/?query=reviewed%3Ayes+AND+organism%3A9606&random=yes
于 2012-11-09T22:05:17.293 回答