クロールしたいくつかのサイトを棚に入れようとしていますが、棚はサイト オブジェクトを受け入れません。リスト、文字列、タプルなどを受け入れますが、サイトオブジェクトを入れるとすぐに、シェルブの内容を取得しようとするとクラッシュします
だから私はこのように私の棚を埋めるとき:
def add_to_shelve(self, site):
db = shelve.open("database")
print site, site.url
for word in site.content:
db[word] = site.url #site.url is a string, word has to be one too
shelve.open("database")['whatever']
完璧に動作します。
しかし、私がこれを行うと:
def add_to_shelve(self, site):
db = shelve.open("database")
print site, site.url
for word in site.content:
db[word] = site #site is now an object of Site
shelve.open("database")['whatever']
次のエラー メッセージでエラーが発生します。
AttributeError: 'module' object has no attribute 'Site'
私は完全に困惑しており、奇妙なことに、pythondocs にも多くの情報がありません。彼らが言うのは、棚のキーは文字列でなければならないということだけですが、値またはデータは「任意のオブジェクト」にすることができます