スクレイピーを実行しようとすると、次のエラーが表示されますImportError:itemsという名前のモジュールはありません
スクレイピングしたいもののリストをitems.pyに追加し、spider.pyにfrom spider.items import SpiderItemを使用してクラスをインポートしました
それが読み込まれない理由がわかりません...
パッケージレイアウトは...
./spider
./spider/pipelines.py
./spider/settings.py
./spider/spiders
./spider/spiders/spider_spider.py
./spider/spiders/test.py
./spider/spiders/__init__.py
./spider/middlewares.py
./spider/__init__.py
./spider/items.py
差出人 Googleグループのこのメッセージ :
あなたのスパイダーモジュールはあなたのスクレイピープロジェクトモジュールと同じ名前が付けられているので、pythonはbyub.pyスパイダーに関連するアイテムをインポートしようとしています。
python imports、see http://www.python.org/dev/peps/pep-0328 の共通の後悔に直面しています
クイックフィックス:
from __future__ import absolute_import
byub.pyスパイダー。私のスパイダーの名前がスクラッププロジェクトと同じだったので、たまたまこの問題に直面しました。
クモの名前を変更するだけで作成できます。
ファイルの名前を変更せずに、from spider.items import SpiderItem
をfrom .. import items
に変更し、コードでitems.SpiderItem
として項目を参照します。
これは、スパイダーモジュールの名前を変更するための優れたソリューションです。
ただし、名前を変更した後、関連する*.pyc
ファイルを削除することを忘れないでください、*.pyc
ファイルがcacheのような役割を果たすことを考慮してください。
ネクロポストしてすみません。ファイルに入れてみてください./spider/__init__.py
それ
import items
Spider.pyファイルのインポートステートメントの後に次の行がありません。
クラスProjectnamegoeshereSpider(BaseSpider):