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/ベース URLは最後にある必要があります
  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 に答える