4

私は単純なスパイダーをスクレイピーで実行しようとしましたが、エラーが発生し続けます:

Could not find spider for domain:stackexchange.com

式を使用してコードを実行するとscrapy-ctl.py crawl stackexchange.com。クモは次のとおりです。

from scrapy.spider import BaseSpider
from __future__ import absolute_import


class StackExchangeSpider(BaseSpider):
    domain_name = "stackexchange.com"
    start_urls = [
        "http://www.stackexchange.com/",
    ]

    def parse(self, response):
        filename = response.url.split("/")[-2]
        open(filename, 'wb').write(response.body)

SPIDER = StackExchangeSpider()`

別の人が数か月前にほぼ同じ問題を投稿しましたが、それをどのように修正したかは述べていませんでした。Scrapy スパイダーが機能 ていませんなぜそれが機能しないのかを理解してください。

このコードをEclipseで実行すると、エラーが発生します

Traceback (most recent call last): File "D:\Python Documents\dmoz\stackexchange\stackexchange\spiders\stackexchange_spider.py", line 1, in <module> from scrapy.spider import BaseSpider ImportError: No module named scrapy.spider

ベースの Spider モジュールが見つからない理由がわかりません。スパイダーはスクリプト ディレクトリに保存する必要がありますか?

4

1 に答える 1

2

実行python yourproject/spiders/domain.pyして、構文エラーがないかどうかを確認してください。スクレイピーは親戚のインポートに依存しているため、絶対インポートを有効にする必要はないと思います。

于 2010-05-22T03:00:16.467 に答える