質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

Q&A

0回答

576閲覧

scrapyのエラーメッセージ対応について

paburon

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

0グッド

0クリップ

投稿2023/02/16 13:06

編集2023/02/17 13:12

実現したいこと

https://note.nkmk.me/python-scrapy-tutorial/
プログラミング初心者です。
このサイトに書いてあることを実行したいのですが、エラーメッセージが出て進めることができません。
対応策を教えて欲しいです。

追記
イメージ説明

イメージ説明

発生している問題・エラーメッセージ

taisei@taiseinoMacBook-Air tutorial % scrapy crawl tutorial
2023-02-16 21:55:56 [scrapy.utils.log] INFO: Scrapy 2.8.0 started (bot: tutorial)
2023-02-16 21:55:56 [scrapy.utils.log] INFO: Versions: lxml 4.9.2.0, libxml2 2.9.13, cssselect 1.2.0, parsel 1.7.0, w3lib 2.1.1, Twisted 22.10.0, Python 3.11.0 (main, Jan 14 2023, 16:37:18) [Clang 14.0.0 (clang-1400.0.29.202)], pyOpenSSL 23.0.0 (OpenSSL 3.0.7 1 Nov 2022), cryptography 39.0.0, Platform macOS-13.2-arm64-arm-64bit
Traceback (most recent call last):
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/spiderloader.py", line 77, in load
return self._spiders[spider_name]
~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'tutorial'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/taisei/.pyenv/versions/3.11.0/bin/scrapy", line 8, in <module>
sys.exit(execute())
^^^^^^^^^
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/cmdline.py", line 158, in execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/cmdline.py", line 111, in _run_print_help
func(*a, **kw)
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/cmdline.py", line 166, in _run_command
cmd.run(args, opts)
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/commands/crawl.py", line 24, in run
crawl_defer = self.crawler_process.crawl(spname, **opts.spargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 232, in crawl
crawler = self.create_crawler(crawler_or_spidercls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 266, in create_crawler
return self._create_crawler(crawler_or_spidercls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 346, in _create_crawler
spidercls = self.spider_loader.load(spidercls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/spiderloader.py", line 79, in load
raise KeyError(f"Spider not found: {spider_name}")
KeyError: 'Spider not found: tutorial'

試したこと

scrapy の再インストール
python のバージョンアップ

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2023/02/17 00:44 編集

示されたURLに scrapy crawl tutorial などと実行している記載はありません。 なにをどこまでやったのか、そこに書いてあるとおりにやっている(つもりな)のか、自分で考えてアレンジしているのか、アレンジしているならなにをしたのか、あたりを書かないと回答のしようがないですよ。
quickquip

2023/02/17 02:27

この情報だけだと「書いてあるとおりにしてないだけ」以外に思うことがないです。
CHERRY

2023/02/17 11:52

エラーメッセージだけではなく、エラーが発生した際に実際に実行したソースコードを質問に追記していただけないでしょうか。
CHERRY

2023/02/17 11:59

% scrapy crawl tutorial と実行されていますが、 > raise KeyError(f"Spider not found: {spider_name}") > KeyError: 'Spider not found: tutorial' とエラーになっています。 参考にされた URL の「scrapy crawlで実行、ファイル出力」部分に > <spider_name>という名前のスパイダーを実行するコマンドは以下の通り。 > > $ scrapy crawl <spider_name> > > <spider_name>はスパイダーのファイル名ではなくスパイダークラスのnameで定義された名前。 > genspiderで生成した場合はファイル名とnameは同じになるが、自分でゼロから作成した場合は注意。 と記載されていますが、実行したコマンドの 「tutorial」は、スパイダークラスのnameで定義した名前でしょうか。
paburon

2023/02/17 13:15

コメントありがとうございます scrapy crawl quotes で実行したところ下記のようになりました。 taisei@taiseinoMacBook-Air tutorial % scrapy crawl quotes 2023-02-17 22:05:46 [scrapy.utils.log] INFO: Scrapy 2.8.0 started (bot: tutorial) 2023-02-17 22:05:46 [scrapy.utils.log] INFO: Versions: lxml 4.9.2.0, libxml2 2.9.13, cssselect 1.2.0, parsel 1.7.0, w3lib 2.1.1, Twisted 22.10.0, Python 3.11.0 (main, Jan 14 2023, 16:37:18) [Clang 14.0.0 (clang-1400.0.29.202)], pyOpenSSL 23.0.0 (OpenSSL 3.0.7 1 Nov 2022), cryptography 39.0.0, Platform macOS-13.2-arm64-arm-64bit 2023-02-17 22:05:46 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'tutorial', 'DOWNLOAD_DELAY': 3, 'FEED_EXPORT_ENCODING': 'utf-8', 'NEWSPIDER_MODULE': 'tutorial.spiders', 'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['tutorial.spiders'], 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'} 2023-02-17 22:05:46 [asyncio] DEBUG: Using selector: KqueueSelector 2023-02-17 22:05:46 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor 2023-02-17 22:05:46 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.unix_events._UnixSelectorEventLoop 2023-02-17 22:05:46 [scrapy.extensions.telnet] INFO: Telnet Password: b5e721de3d367265 Traceback (most recent call last): File "/Users/taisei/.pyenv/versions/3.11.0/bin/scrapy", line 8, in <module> sys.exit(execute()) ^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/cmdline.py", line 158, in execute _run_print_help(parser, _run_command, cmd, args, opts) File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/cmdline.py", line 111, in _run_print_help func(*a, **kw) File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/cmdline.py", line 166, in _run_command cmd.run(args, opts) File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/commands/crawl.py", line 24, in run crawl_defer = self.crawler_process.crawl(spname, **opts.spargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 232, in crawl crawler = self.create_crawler(crawler_or_spidercls) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 266, in create_crawler return self._create_crawler(crawler_or_spidercls) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 349, in _create_crawler return Crawler(spidercls, self.settings, init_reactor=init_reactor) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/crawler.py", line 107, in __init__ self.extensions = ExtensionManager.from_crawler(self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/middleware.py", line 68, in from_crawler return cls.from_settings(crawler.settings, crawler) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/middleware.py", line 43, in from_settings mwcls = load_object(clspath) ^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/utils/misc.py", line 60, in load_object mod = import_module(module) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/extensions/feedexport.py", line 23, in <module> from scrapy.extensions.postprocessing import PostProcessingManager File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/site-packages/scrapy/extensions/postprocessing.py", line 7, in <module> from lzma import LZMAFile File "/Users/taisei/.pyenv/versions/3.11.0/lib/python3.11/lzma.py", line 27, in <module> from _lzma import * ModuleNotFoundError: No module named '_lzma'
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問