21

Scrapy を実行しようとすると、このエラーが発生します ImportError: No module named 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
4

6 に答える 6

28

Googleグループのこのメッセージから:

スパイダー モジュールはスクレイピー プロジェクト モジュールと同じ名前が付けられているため、python は byub.py スパイダーに関連するアイテムをインポートしようとしています。

Python のインポートについてよくある後悔に直面しています 。http: //www.python.org/dev/peps/pep-0328 を参照してください。

クイック修正:

  • スパイダー モジュールの名前を byub_org.py などに変更します。
  • またはfrom __future__ import absolute_importbyub.pyスパイダーで使用します。
  • または、プロジェクトの名前を byubbot などに変更します。
于 2012-05-13T10:01:45.993 に答える
4

私のスパイダー名がスクレイピープロジェクトと同じであるため、たまたまこの問題に直面しました。

スパイダーの名前を変更するだけで作成されます。

于 2014-01-15T10:35:12.033 に答える
2

スパイダー モジュールの名前を変更することは良い解決策です。

*.pycただし、名前を変更した後は関連ファイルを削除することを忘れないでください。ファイルはキャッシュ*.pycのような役割を果たします。

于 2017-06-13T06:48:25.137 に答える
1

ネクロ投稿失礼します。ファイルに入れてみる ./spider/__init__.py

それ

 import items
于 2016-05-15T11:37:44.157 に答える